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

问题描述

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

页面顶部有克隆按钮,该按钮基本上将用户重定向创建属性页面。该页面还包含<AttributeForm>,我想根据希望克隆的属性用户来预填充表单值。问题是initialValues不在此处显示在表单中。我认为必须直接从包含表单的页面过渡到包含相同表单但idk的另一页面。我可以通过initialValues正确看到console.log(this.props.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之后,页面更改期间正在破坏状态,因此表单是完全清楚的。