我有一个带有两个子组件的父组件。
<Parent>
<Child1 />
<Child2 />
</Parent>
Child1有一个文本区域,并利用useState将文本区域的值设置为state;编辑器,setEditor。
Child2有一个按钮,当点击时,我想在Child1中获得编辑器的值。
实现这一目标,我的最佳行动方案是什么?
我已经尝试创建一个新的上下文来包装我的Parent容器,但仍在为如何实际获得编辑器值而苦苦挣扎。
我的另一个想法是将useState推送到父级,并将props向下传递到Child1中——但这意味着每次在Child1的文本区域内按下键时,我的父组件都会重新渲染。
这可以通过提升状态来解决。
在React中,共享状态是通过将其移动到最近的状态来实现的需要它的组件的共同祖先。这被称为"提升状态向上"。
不要担心父组件的重新渲染,除非有真正的问题需要担心。
您必须将状态从child1提升到父级,然后您可以将其作为道具传递给所有子级。希望你能理解