首页 > 解决方案 > 如何从 React Hooks 中的嵌套子级更改父级的状态?

问题描述

我的 React 应用程序中有 3 个嵌套组件。

1.父母叫Child1

2.Child1调用Child2

3.Child2调用Child3

4.儿童3

我想在用户单击按钮时显示一个对话框。对话框在父级中,我通过设置状态变量来显示它

const[showDialog, setShowDialog] = useState(false);

当用户单击 ShowDialog 按钮时为真/假

问题是按钮在 Child3 中。那么当我点击最后一个孩子的按钮时,如何改变父母的状态。

标签: reactjsstateparent-child

解决方案


使用useContextuseReducer钩子,而不是将 props 传递给子项,您可以使用useContextuseReducer 钩子通过 onclick 在父项中调度操作,并从上下文中获取真或假响应到 chlld 组件。这是codeSandbox 示例

在此处输入图像描述


推荐阅读