参考:https://redux-form.com/6.7.0/examples/initializefromstate/
我正在尝试实现一个配置文件表单,该表单使用从api端点获取的初始数据进行更新。
在引用上面的redux-form示例时,我已经能够使示例工作。但是,当我重构它使用compose'initialValues'时,不会插入到字段中。
此代码不起作用,initialValues包含数据但不插入表单字段。
export default compose(
reduxForm({
form: 'initializeFromState',
enableReinitialize : true
}),
connect(state => ({
initialValues: state.profile, // pull initial values from account reducer
}), actions)
)(EditProfile);
然而,此代码的工作原理只是稍微修改一下参考示例。 'initialValues'也包含数据。
EditProfile = reduxForm({
form: 'initializeFromState',
enableReinitialize: true
})(EditProfile);
EditProfile = connect(
state => ({
initialValues: state.profile,
}),
actions,
)(EditProfile);
export default EditProfile;
看起来和我相似,但也许我不能用这样的作品?
答案 0 :(得分:5)
您以错误的顺序将参数传递给compose
。组合函数从结束到开始执行。所以你需要颠倒顺序,使其与你在第二个例子中得到的相同:
export default compose(
connect(state => ({
initialValues: state.profile, // pull initial values from account reducer
}), actions),
reduxForm({
form: 'initializeFromState',
enableReinitialize : true
})
)(EditProfile);