"toggled" 属性不起作用 (redux-form-material-ui)

"toggled" attribute not working (redux-form-material-ui)

我正在尝试使用来自 redux-form-material-ui:

的 Toggle
import { Toggle } from 'redux-form-material-ui'

将切换值更新到其 onChange:

上的存储正常
<Col xs='3'>
    <h3 className="title-page">Parceiro</h3>
    <Field name="possui-parceiro" component={Toggle} label="Possui parceiro?" />
</Col>

问题是:我调用了一些 API,我需要更新这个切换的 "programatically" 的值。理论上,我可以使用 toggled 属性,如 here 所述,但这不起作用:

<Col xs='3'>
    <h3 className="title-page">Parceiro</h3>
    <Field name="possui-parceiro" component={Toggle} toggled={this.state.someBloodyState} label="Possui parceiro?" />
</Col>

这让我相信,在这种情况下,redux-form 只是 在更新/操作过程中 ,迫使我以某种方式将商店中的表单更新为切换值,调度这样的操作看起来很混乱。无论如何,在这种情况下您将如何处理?

我会将 API 结果存储在 redux 状态,从你的 mapStateToProps 中读取它并将它传递给 属性 initialValues 设置中的组件 enableReinitialize: true.

这 2 个属性是 redux-form 在表单呈现后以编程方式更改内容的方式 "later on"。

否则,如果您甚至可以在呈现表单之前获取数据,则可以只使用 initialValues 而无需 enableReinitialize

另一种方式是使用redux form

提供的change功能

更多信息在 docs