原因
我刚刚升级到react-admin v3,此后由于开关react-final-form的缘故,addField被删除了。这导致了一系列事件和一个我无法以体面的方式解决的问题。
情况
我有一个带有ckeditor5的表单,并且我想保存该表单中的内容。以前的react-admin v2路由是带有addField方法的类组件,该方法引入了input.onChange方法,该方法可用于更新表单中的“记录”。
切换到react-final-form引入了FormDataConsumer组件,必须使用该组件来访问实际的表单(const form = useForm()),因此我可以使用ckeditor5组件。 useForm也会强制切换到功能组件(包装器),从而最终导致无状态组件。由于底层数据集已加载,因此该包装器被加载了多次。这会导致多个ckeditor5实例。
我尝试过的事情
什么可能是解决方案,但我认为这很肮脏,将状态存储在会话变量中...或其他一些全局存储中。
问题
解决这个问题的最优雅的方法是什么?