使用browserify、redux和react路线重新加载热模块
我更喜欢browserify而不是webpack,但browserify环境中有一个问题我无法解决。我正在使用react、redux和react路由,我愿意让热模块重新加载,就像react热加载程序为网页包环境提供的一样。我正在使用livereactload来实现这一点(也尝试了browserify hmr),问题是它不适用于redux。它的redux示例()在新克隆上不起作用。有可能吗?有人能给我一些必要的修改来应用到这个例子中,让它工作吗使用browserify、redux和react路线重新加载热模块,redux,browserify,hot-module-replacement,Redux,Browserify,Hot Module Replacement,我更喜欢browserify而不是webpack,但browserify环境中有一个问题我无法解决。我正在使用react、redux和react路由,我愿意让热模块重新加载,就像react热加载程序为网页包环境提供的一样。我正在使用livereactload来实现这一点(也尝试了browserify hmr),问题是它不适用于redux。它的redux示例()在新克隆上不起作用。有可能吗?有人能给我一些必要的修改来应用到这个例子中,让它工作吗 另外,看看这个问题我正在使用它,但是作为一个watc
另外,看看这个问题我正在使用它,但是作为一个watchify插件:plugin(require('livereactload')),它可以正常工作 我确实更改了LiveReactload::Bundle并更新了页面,但也出现了以下警告:browser.js:51警告:[react router]您无法更改;它将被忽略 它仍然可以“本地”重新加载,但它不是“真正的”热重新加载,因为很多东西仍然被重新渲染,没有达到我想要的效果 我们只需要添加以下内容来配置存储:
export default function configureStore(initialState) {
const store = createStoreWithMiddleware(rootReducer, initialState);
// React hot reload
if (module.onReload) {
module.onReload(() => {
const nextReducer = require('../reducers');
store.replaceReducer(nextReducer.default || nextReducer);
// return true to indicate that this module is accepted and
// there is no need to reload its parent modules
return true;
});
}
return store;
}
我使用它,但作为一个watchify插件:plugin(require('livereactload')),它可以正常工作 我确实更改了LiveReactload::Bundle并更新了页面,但也出现了以下警告:browser.js:51警告:[react router]您无法更改;它将被忽略 它仍然可以“本地”重新加载,但它不是“真正的”热重新加载,因为很多东西仍然被重新渲染,没有达到我想要的效果 我们只需要添加以下内容来配置存储:
export default function configureStore(initialState) {
const store = createStoreWithMiddleware(rootReducer, initialState);
// React hot reload
if (module.onReload) {
module.onReload(() => {
const nextReducer = require('../reducers');
store.replaceReducer(nextReducer.default || nextReducer);
// return true to indicate that this module is accepted and
// there is no need to reload its parent modules
return true;
});
}
return store;
}
我的
redux
问题是我没有使用react-proxy@1.x
norbabel-plugin-react-transform
,因此我的组件没有包装在代理中。
如果您在未使用react proxy
或babel plugin react transform的情况下使用新版本的livereactload,则会引发错误请看以下内容:
我的react route
问题是,我在route指令中使用了一个定义为箭头函数的组件。显然,livereactload
不支持这一点。它通过使用类组件而不是箭头函数来解决。这里的解释:我的redux
问题是我没有使用react-proxy@1.x
norbabel-plugin-react-transform
,因此我的组件没有包装在代理中。
如果您在未使用react proxy
或babel plugin react transform的情况下使用新版本的livereactload,则会引发错误请看以下内容:
我的react route
问题是,我在route指令中使用了一个定义为箭头函数的组件。显然,livereactload
不支持这一点。它通过使用类组件而不是箭头函数来解决。此处说明:谢谢您提供的信息。我解决了我在回答中描述的问题。谢谢你提供的信息。我解决了我在回答中描述的问题。