2016-01-07 33 views
9
kullandığım

sırasında redüktör devlet tutmak için nasıl + Redux + WebPack + WebpackDevserver yanıt verin. Sıcak yükleyici çalıştırıldıktan sonra tüm redüktörler başlangıç ​​durumuna sıfırlanır.Redux - sıcak yeniden yükleme

Bir şekilde redüktörlerimi gerçek durumda tutabilir miyim?

Benim WebPack yapılandırma içerir:

entry: [ 
    "./index.jsx" 
], 
output: { 
    filename: "./bundle.js" 
}, 
module: { 
    loaders: [ 
     { 
      test: /\.js|\.jsx$/, 
      exclude: /node_modules/, 
      loaders: ["react-hot","babel-loader"], 
     } 
    ] 
}, 
plugins: [ 
    new webpack.HotModuleReplacementPlugin() 
] 

My düşürücüler istatistikleri ile:

const initialState = { 
... 
} 

export default function config(state = initialState, action) { ... 

benim WebPack Dev-Sunucu sadece başlayın:

"start": "webpack-dev-server", 

cevap

14

Babel 6 varsayarsak, Bunun boyunca bir şey yapmalısınız:

import {createStore} from 'redux'; 
import rootReducer from '../reducers'; 

export default function configureStore(initialState) { 
    const store = createStore(rootReducer, initialState); 

    if(module.hot) { 
    // Enable Webpack hot module replacement for reducers 
    module.hot.accept('../reducers',() => { 
     const nextReducer = require('../reducers/index').default; 

     store.replaceReducer(nextReducer); 
    }); 
    } 

    return store; 
} 

Yaklaşan yaklaşımı benim redux demo adresimden görebilirsiniz.

+1

bu sadece destek redüktörleri klasörü sıcak yeniden yükleme gibi görünüyor, kapsayıcı, bileşen ve eylemler için yeniden yükleme nasıl yapılır? – ruandao

+3

Konteynerler ve bileşenler [tepkili sıcak yükleyici] (https://github.com/gaearon/react-hot-loader) üzerinden gerçekleştirilebilir. Yine de biraz deneysel bir teknolojidir. Soru redüktörlerle sınırlıydı, bu yüzden sınırlı cevap bu yüzden. –

İlgili konular