问题陈述:
我需要获取任何一个Container Component
或一个中所有字段的输入数据Form Component
。
详情:
有 4 到 5 个不同的表单组件,每个组件都使用一个部分中的一些公共字段。它们被提取到不同的组件中,并以顶层表单组件的形式导入以实现可重用性。这些提取的组件具有多个输入字段(每个字段介于 7 到 10 个字段之间)。这是我的组件结构的样子,
- Container Component
-- Form Component A (Contains the submission click handler)
--- InputFieldTypeA Component
--- InputFieldTypeB Component
--- ...
-- Form Component B (Contains the submission click handler)
--- InputFieldTypeA Component
--- InputFieldTypeB Component
--- ...
-- Form Component C (Contains the submission click handler)
--- InputFieldTypeA Component
--- InputFieldTypeB Component
--- ...
我已经尝试过这个链接,但是由于我有太多的输入字段,所以有这么多的回调处理程序(FormA、FormB 和 C 组件中需要)是没有意义的。其他解决方案是ref
在同一个链接中使用给定的,但我在某个地方读到了不正确使用的地方,refs
所以我放弃了这个想法。state 不能在任何这些child components
(InputFieldTypeA、InputFieldTypeB] 等中使用,因为我们需要将状态提升到容器组件。
在这种情况下,最好的解决方案/策略是什么?处理这种深度嵌套的组件的正确方法是什么?