gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:44:00 25 4
gpt4 key购买 nike

错误信息 -

提供者不支持动态更改存储。您很可能会看到此错误,因为您更新到 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;
}

应用程序.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-native - <Provider> 不支持在 react native + redux 中动态更改 `store`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46046909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com