2016-07-20 4 views
0

Reactコンポーネントでは、マウント時からマウント解除時まで関数を繰り返し呼び出して、webpack HMR(ホットリロード)で機能させたいと考えています。Reactコンポーネントとホットリロード(Webpack)内のsetInterval

最も簡単な方法は、ReactJSドキュメントで提案されているようにcomponentDidMountに間隔を設定することです:[1]:https://facebook.github.io/react/docs/component-specs.html#mounting-componentdidmount

componentDidMount() { 
    const number = Math.floor(Math.random() * 1000) + 1 
    setInterval(() => console.log('Component ' + number.toString()), 5000) 
} 

WebPACKのHMRはcomponentDidMountを呼び出す前に、私が検索しましたが、間隔をクリアするための解決策を見つけることができません更新されたコンポーネントについては、つまり、モジュールのホットリロードのたびに新しい間隔があります。

注:WebPACKの前にcomponentWillUnmountと呼ばれていませんが

UPDATEをrebundles:HMRが正しく

繰り返し遅れた機能のWebPACKのHMRを呼び出すを達成するための最良の方法は何が設定されている場合RebundlingがcomponentWillUnmountを呼び出す必要がありますか?

+0

componentWillUnmount – webdeb

+0

問題は 'componentWillUnmount'が呼び出されていないということですwebpack rebundlesの前に。 –

答えて

0

申し訳ありませんが、問題は私のWebpack HMRの実装から来ていることがわかりました。これは明示的にホットルートをアンマウントしていませんでした。

あなたは同じ問題を持って起こる場合は、SRC/main.js差分ファイルを見てみましょうこのコミットをチェックすることもできます。 https://github.com/davezuko/react-redux-starter-kit/commit/a602625b20ade172c829b583882ae44c150e738c

関連する問題