0

我更喜欢 browserify 而不是 webpack,但是 browserify 环境中存在我无法修复的问题。我正在使用 react、redux 和 react-route,我愿意像 react-hot-loader 为 webpack 环境提供的那样重新加载热模块。我正在使用 livereactload 来实现这一点(也尝试过 browserify-hmr),问题是它不适用于 redux。它的 redux 示例(https://github.com/milankinen/livereactload/blob/master/examples/02-redux)不适用于新克隆。有可能吗?有人可以给我应用到示例所需的更改以使其工作吗?

PS看看这个问题https://github.com/milankinen/livereactload/issues/64

4

2 回答 2

2

我正在使用它,但作为 watchify 插件:plugin(require('livereactload')) 并且它工作正常。

我确实更改了 LiveReactload :: Bundle 并更新了页面,但也更新了此警告: browser.js:51 警告:[react-router] You cannot change ; 它将被忽略。

它仍然会“本地”重新加载,但它不是“真正的”热重新加载,因为很多东西仍然被重新渲染并且没有达到我想要的那么多。

我们唯一需要添加到配置存储的是以下内容:

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;
}
于 2016-07-14T11:39:57.490 回答
0

我的问题redux是我没有使用react-proxy@1.xbabel-plugin-react-transform所以我的组件没有包裹在代理中。react-proxy如果您不使用或babel-plugin-react-transform查看以下内容,则新版本的 livereactload 将引发错误: https ://github.com/milankinen/livereactload/issues/64#issuecomment-231992217

我的问题react-route是我在 Route 指令中使用了一个定义为箭头函数的组件。显然livereactload不支持。它通过使用类组件而不是箭头函数来解决。此处说明:https ://github.com/milankinen/livereactload/issues/43#issuecomment-231990841

于 2016-07-14T14:05:39.950 回答