react-native – 不支持在reactnative redux中动态更改`store`

错误信息 –

提供商不支持即时更改商店.您很可能会看到此错误,因为您已更新到Redux 2.x和React Redux 2.x,它们不再自动热重新加载Reducer.有关迁移说明,请参阅https://github.com/reactjs/react-redux/releases/tag/v2.0.0.

configureStore.js –

import { createStore,applyMiddleware } from 'redux';
import ReduxThunk from 'redux-thunk';
import reducers from './reducers';

export default function configureStore(initialState) {
  const store = createStore(reducers,{},applyMiddleware(ReduxThunk));

  if (module.hot) {
    // console.log("in module.hot");
    console.log(reducers);
    module.hot.accept( () => {
      const nextRootReducer = require('./reducers/index').default;
      store.replaceReducer(nextRootReducer)
    });
  }
    return store;
}

App.js –

render(){
    const store = configureStore();
    return(
          <Provider store = {store}>
                <Container>
                      <Login/>
                </Container>
        </Provider>

参考 –
视频 – https://www.youtube.com/watch?v=t2WXfAqLXJw
github – https://github.com/reactjs/react-redux/releases/tag/v2.0.0

视频中给出的解决方案已实施

您已经实现了在模块加载热量时更改reducer的要求,但您仍在尝试为每个渲染创建一个新的存储.

相反,尝试将configureStore()调用移动到组件外部.

const store = configureStore();

class App extends React.Component {

    render(){

        return(
              <Provider store = {store}>
                  <Container>
                      <Login/>
                  </Container>
              </Provider>

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...