我对react和routing比较陌生,我尝试将我们的路由从V5迁移到v6,我的路由器代码如下所示
<Router history={history} key={Math.random()}>
但升级到路由器v6后,它给了我一个错误的历史 prop
(财产)历史:浏览器历史记录类型“{子项:元素;历史:浏览器历史记录;键:数字;“}"不能赋给类型”IntrinsicAttributes & RouterProps“。类型”IntrinsicAttributes & RouterProps“上不存在属性”history“。
如果历史记录不能作为路由器中的一个 prop 通过,我应该如何处理?
2条答案
按热度按时间7kqas0il1#
在React Router Dom V6中,我们应该使用
useNavigate
来执行重定向,而不是将history
传递给Router
。作为一个示例,下面是如何在组件中使用它:由React Router Dom团队进行的guide迁移将在您的迁移过程中有所帮助。
xoefb8l82#
谢谢大家,基本上我在useEffect钩子中有一个
history.listen
来检测URL的变化,我用useLocation钩子代替,并使用BrowserRouter。