2015-12-12 11 views
9

は、私は暑いswapableであることを私の減速を取得タフな時間を持っていてください。Reduxの減速やその他の非コンポーネントホットロード可能

私はWebpackとreact-transform-hmrを使用しています。これで、CSSとコンポーネントはすべて保存時にホットロードされますが、他のタイプのタイプ(リデューサーなど)で試してみると、フルリフレッシュを実行するよう指示されます。

私は、リデューサを明示的に再ロードしてイベントを受け入れる必要があるため、これが原因であることがわかりました。これは私が私のstore.jsにこのコードでやっている:

if(module.hot) { 
    module.hot.accept('./reducers/',() => { 
    const nextRootReducer = require('./reducers/index'); 
    store.replaceReducer(nextRootReducer); 
    }); 
} 

reducers/indexは、ルート減速をエクスポートします。

は、しかし、今私はそれはまだそう[HMR] TypeError: currentReducer is not a function

を言っ[HMR] Cannot check for update (Full reload neededしてもエラーを私に伝え、これを実行すると - 私はこれが動作するようになっていくつかの助けを必要としています。コードがhttps://github.com/wesbos/Simple-Reduxで利用可能であり、あなたがやってそれを再現することができます。

  1. npm install
  2. npm start
  3. オープンはlocalhost:お使いのブラウザでは3000
  4. 編集減速 - オープンposts.jsと行の数字を変更6 to anything else

答えて

18

私はよく見ていませんが、私の最高の推測は、それはthis issueです。
Babel 6は、ES6のデフォルトのエクスポート結果をmodule.exportsにすることをもう試みません。

ので、代わりの

const nextRootReducer = require('./reducers/index'); 

あなたはおそらくES6のデフォルトの輸出のためのバベル6の出力と一致する

const nextRootReducer = require('./reducers/index').default; 

をしたいです。

+1

それはそれでした - ありがとうございました! – wesbos

関連する問題