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

时间:2018-07-18 03:45:02

标签: react-final-form

https://codesandbox.io/s/km2n35kq3v

中的示例

初始值是硬编码的。

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

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

<Wizard
      initialValues={this.state.myInitValues}

什么也没有发生,当表单重新呈现时,initialValue不会更改-我缺少什么?

2 个答案:

答案 0 :(得分:1)

  

该示例仅适用于硬编码的值

否。

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

希望这对您有帮助...

答案 1 :(得分:0)

我发现了这一点..该示例仅适用于硬编码的值,我不应该假设其他情况。

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

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