gpt4 book ai didi

javascript - 是否可以使用 react 路由器将值从子路由传递到其父路由?

转载 作者:行者123 更新时间:2023-11-29 10:35:18 25 4
gpt4 key购买 nike

比方说,我有一个带有页眉和正文的 MainLayout。使用 React 路由器,我在主体中渲染组件。

...
<header></header>
<main>{this.props.children}</main>
...

这是我当前的路由器:

<Route component={MainLayout} onEnter={requireCordova}>
<Route path="/home" component={Home} />
<Route path="/settings" component={Settings} />
</Route>

我的问题是我希望 MainLayout 从其子项之一获取标题(以填充页眉),这可能吗?

<Route component={MainLayout} onEnter={requireCordova}>
<Route path="/home" component={Home} title='homepage' />
<Route path="/settings" component={Settings} title='settings' />
</Route>

最佳答案

组件之间不能直接通信。您可能希望使用共享存储来满足此类需求 - 最流行的解决方案是 Redux .

要解决更新标题的具体问题 - 有一个简单的实用程序 react-helmet这简化了过程。

您可以在任何路由组件中简单地使用 Helmet 组件: <Helmet title="My Title" /> Helm 将负责更新您的头衔。它也适用于 HTML head 中的其他元素 - 例如。元数据、链接、脚本标签等。

关于javascript - 是否可以使用 react 路由器将值从子路由传递到其父路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37634115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com