2016-10-10 7 views
1

私はreactjsで始まり、私のjsxへのホットリロードをしようとしています。私はこのアプリを分けた:https://github.com/gaearon/react-hot-boilerplate/tree/nextjsxの反応ホットローダーを作成するには?

私はわずかにapp.jsを変更:私は、H1タグ内のテキストは、ブラウザを更新している変更すると

import React, { Component } from 'react'; 

export default class App extends Component { 
    constructor(){ 
     super(); 
     this.state = { 
     txt: 'this is the txt', 
     cat: 0 
     } 
    } 

    render() { 
    return (<div> 
      {this.state.txt} 
     <h1>sdfdsfdsfs, world.</h1> 
     </div> 

    ); 
    } 
} 

。しかし、私はtxtプロパティを変更すると何も起こりません。これをどうやって動かすことができますか?

+0

あなたは意味しますか? – garrettmaring

答えて

1

リアクションホットローダーは、コンストラクタ内の変更を初期状態にリロードすることはできません。これは、コンポーネント内の何かが変更されたときに、コンポーネントのコンストラクタがリアクションホットローダによって再度呼び出されないためです。

変更を初期状態にホットリロードすることはできません。このプロパティの割り当ては、コンストラクタ内でフィールドを設定するのと同じことを忘れないでください。コンストラクタを変更しても、フィールドはすでに設定されています。コンストラクターは2回実行されません。したがって、これはサポートされていません。

この問題をチェックしてください:あなたは= {...} `何も起こらないコンストラクタでthis.state`でTXT状態を変更したときhttps://github.com/gaearon/react-transform-hmr/issues/41

+0

この問題を回避する方法はありますか? – Michal

関連する問題