在我的表单中,我正在通过以下代码传递初始值。

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(黄色)是第一个表的嵌套字段数组

javascript - ReduxForm-enableReinitialize不会更新嵌套FieldArrays中的值-LMLPHP

最佳答案

每当数据更改时,都可以使用componentDidMountcomponentDidUpdate生命周期钩子(Hook)来调用this.props.initialize(…)以重新初始化表单。

https://redux-form.com/7.2.3/docs/api/props.md/#-code-initialize-data-object-function-code-

您还可以看看here,因为它处理的是一个非常类似的问题。

09-26 16:45