如何正确访问React组件中的Redux存储?

时间:2019-08-06 16:35:45

标签: reactjs redux

我正在开发React前端,目前有工作后端。除了客户端验证之外,我想在登录期间显示服务器端消息,例如是否填写了所有字段。尽管我已经编写了mapStateToProps函数,但在访问组件中的Redux存储时遇到了麻烦,而且正如我所阅读的那样,从操作返回的值应该映射到props,因此我应该能够检索它们。我的代码:https://codesandbox.io/s/rough-firefly-4kcdl(对于箭头功能的语法错误,我感到抱歉)。如您在所附屏幕截图中所见,Redux存储区中有一些值,我希望能够在coresponding组件中使用其中一些值。

enter image description here

2 个答案:

答案 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
  }

并检查您的登录组件,我已经定义了获取更新状态和调度操作的正确方法 您可以使用减速器名称

来获取状态