微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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之后,页面更改期间正在破坏状态,因此表单是完全清楚的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。