javascript - React - 使用 reduxForm 的两个语句之间的差异

标签 javascript reactjs redux react-redux redux-form

我已经检查了具有初始化值的 reduxForm 示例代码,他们的代码和我的代码之间的唯一区别是以下代码块..

我的代码 (不适用于初始值)

function mapStateToProps(state) {
  return{
    initialValues: state.account.data
  };
}

export default reduxForm({
  form:'initializeFromState'
})(connect(mapStateToProps,{load: loadAccount})(InitializeFromStateForm));

他们的代码 (使用初始值) Taken from here

InitializeFromStateForm = reduxForm({
  form: 'initializeFromState', // a unique identifier for this form
})(InitializeFromStateForm);

// You have to connect() to any reducers that you wish to connect to yourself
InitializeFromStateForm = connect(
  state => ({
    initialValues: state.account.data, // pull initial values from account reducer
  }),
  { load: loadAccount }, // bind account loading action creator
)(InitializeFromStateForm);

export default InitializeFromStateForm;

我用我的代码更改了 connect() 和 reduxForm 的代码,有趣的是,initialValues 停止工作,现在我的问题是代码是否不同?如果不同我的代码出了什么问题?

谢谢。

最佳答案

是的,有一点区别,您先用 connect 包装组件,然后用 ReduxForm 包装组件,但是应该反过来

将代码更改为

export default connect(mapStateToProps,{load: loadAccount})(reduxForm({
  form:'initializeFromState'
})(InitializeFromStateForm));

它应该可以工作

关于javascript - React - 使用 reduxForm 的两个语句之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44662259/

相关文章:

javascript - 如何附加到 javascript 中的现有正则表达式?

javascript - 何时何地不成功: value executes in jQuery Ajax method?( header 位置未更改)

reactjs - 极慢的 React 列表渲染

javascript - 应用程序从 Ubuntu 迁移到 Windows 7 后如何运行?

reactjs - React Redux 中多个中间件的顺序

typescript - typescript 中可选的必需参数

javascript - React-Redux 上下文中的 "Tearing"是什么?

javascript - 如何从 Windows 数学输入面板接受 MathML?

javascript - Angular 中的范围继承 $broadcast

javascript - 如何构建 React 应用程序的 docker 镜像?