gpt4 book ai didi

reactjs - 通过更改react-intl包装器 Prop 切换语言时,我的redux-form被重新初始化

转载 作者:行者123 更新时间:2023-12-03 14:04:39 39 4
gpt4 key购买 nike

我将我的应用程序包装在 react-intl v2IntlProvider 中,像这样:

<IntlProvider locale={this.props.lang} messages={this.props.messages}>

我在树下有我的 react-form 表单。一切都很棒。

但是,如果我开始填写表单,并且决定更改 UI 的语言(通过监听将更新我的 langmessages props 通过我的 redux 存储),表单正在重置:-/

我看到当语言发生变化时,redux-form/INITIALIZE 操作被触发。

即使我将 destroyOnUnmount: false 传递给 reduxForm(),也会发生这种情况。

不受控制的表单字段不会发生这种情况。

有什么想法吗?

我的代码:App.js + Register form

最佳答案

嗯...您正在更改 initialValues 属性,因此它正在初始化表单数据。 initialValues 旨在用于要编辑的来自服务器的规范数据(例如加载的记录),而不是真正用于从组件外部更新各个表单值。

也许您可以使用plugin() API注意语言更改操作(是通过 Redux 进行更改吗?)并更新表单中的 lang 值?

关于reactjs - 通过更改react-intl包装器 Prop 切换语言时,我的redux-form被重新初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35858406/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com