0

查看https://codesandbox.io/s/km2n35kq3v中的示例

初始值是硬编码的。

<Wizard
      initialValues={{ employed: true, stooge: 'larry' }}

但是,我想在 ComponentDidMount 中进行 ajax 调用,获取初始值,然后在调用完成时(重新)设置 initialValues。

<Wizard
      initialValues={this.state.myInitValues}

没有任何反应,当表单重新呈现时,initialValues 不会改变 - 我错过了什么?

4

2 回答 2

1

该示例仅适用于硬编码值

不。

只要在树中获取更高的值,“高于”<Wizard/>组件,它们就可以作为道具传入就可以了。React Final Form 甚至可以对确定prop 何时更改(在这种情况下将重新初始化表单)进行细粒度isEqual()控制。initialValues

希望这可以帮助...

于 2019-09-24T16:39:09.613 回答
0

我想通了..该示例仅适用于硬编码值,否则我不应该假设。

事实证明,initialValues 被传递给 Wizard 组件,并在构造函数的 Wizard 组件中设置为状态。

当 ajax 调用返回时,构造函数不会再次执行。

于 2018-07-18T11:04:18.750 回答