我想在某处存储我的 React Final Form 的状态。现在它在 React Hook 中。我目前正在使用useMethods
,类似于useState
.
我目前拥有的表单是一个多步骤过程的一部分,当我导航到另一个没有该表单的页面时,它会被卸载(当然)。重新安装时,我想为表单提供初始值(可在此处获得)。
问题是,当我的状态改变时,表单会重新渲染并且我总是以无限循环结束,因为:
- 该
FormSpy
专卖店的形式变化 - 状态变了
- 表单被重新渲染
- 该
FormSpy
专卖店的形式变化 - 等等...
我还有一个问题,当提供初始值时,字段状态未填充(脏、触摸等),因此重新安装时表单看起来很奇怪,因为某些标签与元字段相关联。似乎我们需要某种方式来存储所有表单状态,而不仅仅是作为包含Form
可以卸载和重新安装n次的组件的值。
我想要的是:
- 更改为立即存储在我的状态
- 重新渲染以某种方式记住(如果需要,我可以将其存储在我自己的状态中)触摸、脏等状态
我的出发点是查看使用去抖动自动保存(尽管我不需要去抖动,因为我将它存储在本地)。
处理这个问题的最佳方法是什么?