javascript - react 路由器 : execute custom function on every <Link> navigation

标签 javascript reactjs react-router

很抱歉,如果这个问题已经得到解答。 但是有没有办法在每个 <Link> 上执行自定义函数?导航?最好不要创建自定义 <Link>包装器。

我想在我的应用程序中的每次导航之前将一些信息放入 sessionStorage。

谢谢

最佳答案

您可以使用onClick 来执行任何操作,比如说

<Link
  to="/"
  onClick={() => console.log('Heading to /')} />

console.log 替换为执行 sessionStorage 更新等的函数,仅此而已。


另一种方法是使用 Route 组件的 onEnter 属性来为每个路由输入执行特定功能:

<Route
  path="/"
  component={App}
  onEnter={() => console.log('Entered /')} />

参见 reference , 或 example with react-router and react-redux .

关于javascript - react 路由器 : execute custom function on every <Link> navigation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39294424/

相关文章:

javascript - 添加授权以 react 路由器

reactjs - 重定向到 protected https 在 react 路由器中不起作用

javascript - HTML5 历史 API : "popstate" not called when navigating back from another page

java - 在 Google Chrome 中选择文件夹而不是文件

javascript - 为什么在新的 react-router-dom 中 <Redirect/> 不在 setTimeout 内触发?

javascript - 如何覆盖高阶组件的默认 Prop ?

javascript - 为什么在使用 react redux 过滤时我的原始状态会发生变化

javascript - HTML 表单 - 预先编写的文本

javascript - React 不会将条目发送到 DOM

reactjs - Semantic-ui-react 选项卡的默认样式