react-final-form 如何从 ajax 调用中加载 initialValues

react-final-form how to load initialValues from ajax call

查看 https://codesandbox.io/s/km2n35kq3v

中的示例

初始值是硬编码的。

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

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

<Wizard
      initialValues={this.state.myInitValues}

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

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

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

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

that example only works for hard-coded values

没有

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

希望这对您有所帮助...