【发布时间】:2020-09-03 14:56:47
【问题描述】:
根据 react router 最新的 v6.0.0-alpha.5 版本,history 属性已被移除: https://github.com/ReactTraining/react-router/releases/tag/v6.0.0-alpha.5
删除了
属性并移动了设置的责任 将侦听器(history.listen)向上/拆除到包装器中 组件( 、 等)。 现在是一个 只为其余部分设置上下文的受控组件 应用程序。
使用 useNavigate 钩子在 react 上下文中导航很简单。
但是,history 属性的删除如何影响在反应上下文之外以编程方式导航? 例如,当我们不再可以传递历史对象时,我们如何保持历史同步以便从 redux 或 axios/http 拦截器等内部导航? 当前的 V5 实现: https://reacttraining.com/react-router/web/api/Router
或者,从 v6 开始,目标是仅依赖于从 react 组件内部导航?
【问题讨论】:
-
你是怎么解决这个问题的?
-
@DKo 我没有解决它,我正在探索 v6,看看我需要对 v5 上的当前应用程序进行哪些更改。我的实验时间用完了,只好继续前进。当 v6 发布时,我希望它与历史 API 一起开箱即用,或者有一个实用的解决方案。
标签: javascript reactjs react-router react-router-dom