Redux 表单未使用初始值初始化

Redux Form is not initialised with initial values

我有一个使用 React Router 的应用程序,其 编辑属性页面 包含 <AttributeForm>。此页面上的表单正确显示了传递给它的 initialValues

页面顶部有克隆按钮,它基本上将用户重定向到创建属性页面。此页面还包含 <AttributeForm>,我想根据用户想要克隆的属性预填充表单值。问题是 initialValues 没有显示在表单中。我认为它必须做一些事情,从包含表单的页面直接过渡到包含相同表单的另一个页面,但 idk。我可以通过 console.log(this.props.initialValues) 正确看到 initialValues 但它们没有显示。

我也启用了重新初始化,但没有帮助。

const selector = formValueSelector("AttributeForm")
const mapStateToProps = state => ({
  sourcesArray: getDataSourcesArrayForSelect(state, true),
  dataType: selector(state, "data_type")
})

AttributeForm = connect(mapStateToProps)(AttributeForm)

export default reduxForm({
  form: "AttributeForm",
  touchOnBlur: false,
  enableReinitialize: true
})(AttributeForm)

通过设置destroyOnUnmount: false解决。它在设置新 initialValues 后立即在页面更改期间破坏状态,因此表单完全清晰。