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

我的代码(不适用于initialValues)

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

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


他们的代码(与InitialValues配合使用)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));


它应该工作

07-26 01:29