这个问题与这个问题有关。我正在改写以使它变得简单。
我有一个主导航组件(MainNavigation.js(,它与Header组件(Header.js(下的Secondary navigation组件(SecNavigation.jss(是同级的
我想要的是,当我点击MainNavigation.js中的特定链接时,整个SecNavigation.js将以模式显示。
我的问题是,我不太清楚我应该如何使用useState、useContext,甚至我是否需要这些。
希望这将为您清除
你需要的是一个处理状态的父级,然后它将它传递给它的子级。因为父母一直在跟踪孩子们以及他们在做什么。
所以我这样做了:
.js是父级,我在这里处理状态。然后,我只需将setIsModalShowing
setState函数传递给MainNav,当我按下按钮时,MainNav会调用它。
然后在App.js中,如果setIsModalShowing
是true
或false
,我将显示或隐藏模态
在模态内部,我显示了SecNav
,模态也传递了setIsModalShowing
,这样你就可以点击按钮关闭is,这将把状态设置为false。
这对你有意义吗?或者我可以试着用另一种方式解释
代码示例