带有参数导航返回的 React Router 需要双击

Posted

技术标签:

【中文标题】带有参数导航返回的 React Router 需要双击【英文标题】:React Router with params navigatin back needs double click 【发布时间】:2018-06-09 01:11:27 【问题描述】:

简单的问题。

例如,当我在/dashboard 路由器中并单击<Link to="/users/:userID" > 路由器并尝试返回/dashboard 时,它可以工作,但是当从/users/:userID 路由器时,我导航到另一个/users/:userID路由器并尝试返回我需要单击两次返回按钮,知道为什么吗?

例如

/dashboard -> /users/1 并返回(需要单击 1 次)

/dashboard -> /users/1 -> /users/2 并返回到 /users/1(点击 2 次 需要)

这是我在 App.js 中的路线

<Route path='/users/:userId'  render=()=><User/> />

这是我的 User.jsx 渲染()

render() 
    let movie = this.props.thisUserIdData;
    const  match  = this.props;
    console.log(match);
    return (
        <div> .... </div>
         )

和componentDidMount()

componentDidMount() 
   this.loadData(this.props.match.params.userId); 
   //using redux and  axios to  get data 

【问题讨论】:

我会登录 componentDidMount 并查看它是否为 users/2 路由加载了两次。我还没有遇到过这个问题,但猜测是可以通过更改使用组件的路线来修复它: 【参考方案1】:

我在嵌套onClick 操作时遇到过类似情况。

例如:

<div onClick=() => push(`/user/$id`)>
   <button onClick=() => push(`/user/$id`)>to user</button>
</div>

【讨论】:

以上是关于带有参数导航返回的 React Router 需要双击的主要内容,如果未能解决你的问题,请参考以下文章

在带有 react-router 的 React 中,当我从一个复杂的视图中导航出来,然后直接返回时,如何保留一个人的所有视图选择?

使用带有 react-router 的锚点

带有 react-router-dom NavLinks 的 react-bootstrap 导航栏中的 collapseOnSelect

React Router Dom(四)编程导航

react-router 出现奇怪的导航问题

React-router:防止导航到目标路线