Перезагрузите страницу, если на том же пути - PullRequest
0 голосов
/ 20 марта 2020

В моем приложении реакции у меня есть два тега NavLink:

<NavLink exact={true} to={'/home'}>Home</NavLink>
<NavLink exact={true} to={'/users'}>Users</NavLink>

Навигация работает нормально, но я хочу перезагрузить страницу, если я нажму на NavLink и я нахожусь на том же пути поэтому, если я на /home и нажимаю NavLink из /home, я хочу перезагрузить страницу.

Вот что я попробовал:

<NavLink onClick={linkClicked} exact={true} to={'/home'}>Home</NavLink>

const linkClicked = () => {
if(props.location.pathname === props.history.location.pathname) {
  window.location.reload();
 }
}

это перезагрузка страница, но с такой проблемой, как она перенаправляет обратно на текущую страницу даже при нажатии другого пути. Как я могу это исправить?

Это маршруты:

  <Switch>
    <Route path="/home" render={(props) => <Home {...props} />} />
    <Route path="/users" render={(props) => <Users {...props} />} />
    <Redirect to="/home" />
  </Switch>

, а вот StackBlitz

1 Ответ

0 голосов
/ 20 марта 2020

Удалите оператор if, просто window.location.reload () выполнит требование.

Попробуйте,

<NavLink onClick={()=>window.location.reload()} exact={true} to={'/home'}>Home</NavLink>

Это сработало для меня. Надеюсь, поможет!! Удачного кодирования !!.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...