我正在研究一个需要将redux-form升级为react-final-form的项目。我只是想知道该任务是否有任何文档。
答案 0 :(得分:5)
我本打算制作一份迁移指南,但它是如此简单,以至于我从未发现这样做的动机。但是,我将在这里为所有通过Google找到这种出色的SEO诱饵的人写一些内容。
您无需在HOC上“装饰”表单组件,而是在表单组件内部使用?React Final Form的<Form>
组件,以通过渲染道具为您提供所有表单状态。 Redux Form中的大多数配置内容都直接映射到<Form>
的道具上,例如initialValues
,onSubmit
等
<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年晚些时候进行。