是否有任何指令可以从redux形式迁移到react-final形式?

时间:2019-07-03 03:08:44

标签: reactjs ecmascript-6 react-final-form

我正在研究一个需要将redux-form升级为react-final-form的项目。我只是想知道该任务是否有任何文档。

1 个答案:

答案 0 :(得分:5)

我本打算制作一份迁移指南,但它是如此简单,以至于我从未发现这样做的动机。但是,我将在这里为所有通过Google找到这种出色的SEO诱饵的人写一些内容。


您无需在HOC上“装饰”表单组件,而是在表单组件内部使用?React Final Form的<Form>组件,以通过渲染道具为您提供所有表单状态。 Redux Form中的大多数配置内容都直接映射到<Form>的道具上,例如initialValuesonSubmit

<Field> API几乎是 相同,但是具有额外的好处,您可以定义如何通过渲染道具(内联)来渲染字段(使用“胖箭头”作为您在Redux格式中的component道具的功能被禁止,这是一个常见的陷阱)。 Final React Final Form有一些额外的字段状态,例如dirtySinceLastSubmit,可以派上用场。

默认情况下,Redux Form不会在每次值更改时重新呈现整个表单,如果您实时需要它们,将迫使您使用getFormValues()选择器。默认情况下,每次更改值时,React Final Forms 都会重新呈现,因为对于大多数小型表单来说,这很好。但是?React Final Form可以通过为subscription提供一个<Form>道具来重新调整渲染,从而精确指定要渲染的表单状态的哪一部分(切片)。然后,每当您在Redux表单中使用选择器时,都可以在?React Final Form中使用<FormSpy>组件,该组件允许您订阅(“选择”)表单状态的某些部分以进行重新呈现。

在另一个答案中,this talk很好地解释了区别。更多讨论将在2019年晚些时候进行。