在我的表单中,我正在通过以下代码传递初始值。
function mapStateToProps(state) {
return {
initialValues: {
POItems: state.poItems.poItems
}
}
}
AddCustomerPOItems = reduxForm({
form: 'AddCustomerPOItemsForm',
enableReinitialize: true,
})(AddCustomerPOItems)
AddCustomerPOItems = connect(mapStateToProps, poItems)(AddCustomerPOItems)
export default AddCustomerPOItems
此问题在嵌套字段数组中。
当添加新项目时,reducer将更新状态并初始化字段并正常工作,但是如果我修改字段,reducer会正常工作并正确更新状态,但值未初始化。
在表1中,它是一个字段数组,而表2(黄色)是第一个表的嵌套字段数组
最佳答案
每当数据更改时,都可以使用componentDidMount
和componentDidUpdate
生命周期钩子(Hook)来调用this.props.initialize(…)
以重新初始化表单。
https://redux-form.com/7.2.3/docs/api/props.md/#-code-initialize-data-object-function-code-
您还可以看看here,因为它处理的是一个非常类似的问题。