我正在开发React前端,目前有工作后端。除了客户端验证之外,我想在登录期间显示服务器端消息,例如是否填写了所有字段。尽管我已经编写了mapStateToProps函数,但在访问组件中的Redux存储时遇到了麻烦,而且正如我所阅读的那样,从操作返回的值应该映射到props,因此我应该能够检索它们。我的代码:https://codesandbox.io/s/rough-firefly-4kcdl(对于箭头功能的语法错误,我感到抱歉)。如您在所附屏幕截图中所见,Redux存储区中有一些值,我希望能够在coresponding组件中使用其中一些值。
答案 0 :(得分:1)
在您的auth reducer案例LOGIN_FAILURE
中,您的新状态具有不同的结构,而不是返回{ action }
返回{ ...state, errors: action.errors, isLoading: action.isLoading }
,因为这正是您的组件所期望的
答案 1 :(得分:1)
嘿,我与您分享了一个链接,其中我定义了如何在最常用的模式中使用mapStateToProps和mapDispatchToProps
https://codesandbox.io/s/cool-oskar-oj4s4?fontsize=14
在减速器中,请更改Login_Failure案例的返回声明。 您必须将所有剩余状态返回给组件 因为reducer总是返回状态对象
return {
...state
}
并检查您的登录组件,我已经定义了获取更新状态和调度操作的正确方法 您可以使用减速器名称
来获取状态