Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在何处存储redux表单成功消息,以及onSubmitSuccess后如何显示它?_Reactjs_React Redux_Redux Form - Fatal编程技术网

Reactjs 在何处存储redux表单成功消息,以及onSubmitSuccess后如何显示它?

Reactjs 在何处存储redux表单成功消息,以及onSubmitSuccess后如何显示它?,reactjs,react-redux,redux-form,Reactjs,React Redux,Redux Form,我一直在阅读文档和一些关于这个主题的github问题,但是我找不到一个关于如何处理服务器返回并向用户显示的简单成功消息的明确答案 我的reduxForm减速机如下所示: form: formReducer.plugin({ forgotPassword: (state, action) => { // <------ 'forgotPassword' is name of form given to reduxForm() switch(action.type)

我一直在阅读文档和一些关于这个主题的github问题,但是我找不到一个关于如何处理服务器返回并向用户显示的简单成功消息的明确答案

我的reduxForm减速机如下所示:

form: formReducer.plugin({
    forgotPassword: (state, action) => { // <------ 'forgotPassword' is name of form given to reduxForm()
      switch(action.type) {
        case 'FORGOT_PASSWORD_EMAIL_SENT': {
         return {
            ...state,
            successMessage: action.payload
          };
        }
        default:
          return state;
      }
    }
  })
现在,当表单成功提交时,所有内容都正确执行,我的状态将如下所示:state.form.forgotPassword.successMessage='MyString';但是组件从不更新以显示实际消息

也就是说,在我的表单组件中,我应该如何访问状态的这一部分?它不是作为财产传下来的,所以我不能这样做

const{successMessage}=this.props

在控制台中,我可以看到这样调度的操作:

@@redux-form/SET_SUBMIT_SUCCEDED
FORGOT_PASSWORD_EMAIL_SENT
那么,从我的表单组件内部,访问state.form.forgotPassword.successMessage并将其显示给用户的正确方法是什么?

尝试使用formValueSelector。 请参见此处的示例:

@@redux-form/SET_SUBMIT_SUCCEDED
FORGOT_PASSWORD_EMAIL_SENT