Redux Form - 使用 compose 时 initialValues 不更新
Redux Form - initialValues not updating when using compose
参考: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;
它看起来和我很相似,但也许我不能像这样使用 compose?
您以错误的顺序将参数传递给 compose
。组合函数从末尾开始执行。因此,您需要颠倒顺序以获得与第二个示例中相同的顺序:
export default compose(
connect(state => ({
initialValues: state.profile, // pull initial values from account reducer
}), actions),
reduxForm({
form: 'initializeFromState',
enableReinitialize : true
})
)(EditProfile);
参考: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;
它看起来和我很相似,但也许我不能像这样使用 compose?
您以错误的顺序将参数传递给 compose
。组合函数从末尾开始执行。因此,您需要颠倒顺序以获得与第二个示例中相同的顺序:
export default compose(
connect(state => ({
initialValues: state.profile, // pull initial values from account reducer
}), actions),
reduxForm({
form: 'initializeFromState',
enableReinitialize : true
})
)(EditProfile);