我已经用初始化值检查了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));
它应该工作