gpt4 book ai didi

reactjs - 在 React Router v4 中是否可以订阅路由更改?

转载 作者:行者123 更新时间:2023-12-03 13:54:47 28 4
gpt4 key购买 nike

我想知道使用最新版本 react-router 订阅浏览器历史记录更改的最佳模式是什么? 。我正在阅读当前的documentation ,但看起来唯一提到的选项是显式检索 <Match/> 传递的 props容器到render功能或到component 。此处还描述了此解决方案:

https://stackoverflow.com/a/41006114/2817257

但是如果我想以一种干净的方式在组件树中更深入地获取路由参数怎么办?

我正在考虑的是创建一个检索 router 的容器组件来自上下文并订阅位置更改。但是,当前版本4.0.0-alpha.6即使 router对象已经在上下文中,它只包含以下方法:

  • block 转换
  • 创建Href
  • 替换为
  • 过渡到

这不是很有希望,因为它看起来像 router没有暴露history根本没有对象。也许添加到上下文中的其他对象可能会有所帮助?

最佳答案

react-router 文档在 ATM 上,但在 v3 中你可以传递 an onUpdate function作为 Router 组件的 Prop 来监听路由器状态更改。

另一个选项是导入 browserHistory,它是通过 history 实现的。 (再次 v3 知识,因为 v4 文档已关闭)并使用 listen 订阅历史更改,如下所示

import { browserHistory } from 'react-router'

browserHistory.listen((location, action) => {
// do whatever you need here
})

关于reactjs - 在 React Router v4 中是否可以订阅路由更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41882592/

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