gpt4 book ai didi

reactjs - 错误 : Expected the root reducer to be a function. 相反,收到: 'undefined'

转载 作者:行者123 更新时间:2023-12-02 02:06:49 26 4
gpt4 key购买 nike

我一直遇到这个错误!

错误:期望根 reducer 是一个函数。相反,收到:'未定义'

我已经尝试了所有我能找到的答案,但都无济于事,这里是所有相关的内容!

根 reducer

const createRootReducer = (history) => {
combineReducers({
router: connectRouter(history),
createUser: signupReducer,
});
};

export default createRootReducer;

const Root = ({ children, initialState = {} }) => {
const history = createBrowserHistory();
const middleware = [thunk, routerMiddleware(history)];

const store = createStore(rootReducer(history), initialState, applyMiddleware(...middleware));

return (
<Provider store={store}>
<ConnectedRouter history={history}>{ children }</ConnectedRouter>
</Provider>
);
};

export default Root;

应用程序

function App() {
return (
<div className="App">
<Root>
<ToastContainer hideProgressBar={true} newestOnTop={true} />
<Navbar />
<Landing />
<PostList />
</Root>
</div>
);
}

export default App;

注册减少器

export const signupReducer = (state = initialState, action) => {
switch (action.type) {
case UserTypes.CREATE_USER_SUBMITTED:
return {
usernameError: "",
passwordError: "",
isSubmitted: true
};
case UserTypes.CREATE_USER_SUCCESS:
return {
usernameError: "",
passwordError: "",
isSubmitted: false
};
case UserTypes.CREATE_USER_ERROR:
const err = {
usernameError: "",
passwordError: "",
isSubmitted: false
};
if(action.errorData.hasOwnProperty('username')){
err.usernameError = action.errorData['username'];
}
if(action.errorData.hasOwnProperty('password')){
err.passwordError = action.errorData['password'];
}
return err;
default:
return state
}
}

这是在根组件中引发错误的行

  const store = createStore(rootReducer(history), initialState, applyMiddleware(...middleware));

感谢您的宝贵时间!

最佳答案

您需要返回组合的 reducer 。

const createRootReducer = (history) => {
return combineReducers({
router: connectRouter(history),
createUser: signupReducer,
});
};

或者使用箭头函数隐式返回。

const createRootReducer = (history) => combineReducers({
router: connectRouter(history),
createUser: signupReducer,
});

关于reactjs - 错误 : Expected the root reducer to be a function. 相反,收到: 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68323547/

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