Когда подходит время для замены React Router (componentDidMount?) - PullRequest
0 голосов
/ 23 мая 2019

У меня есть компонент, который, если кто-то скопирует URL-адрес и разместит его на новой вкладке, будет аварийно завершен, поскольку он пропускает данные, необходимые на предыдущем шаге.

Я хочу перенаправить их на другую страницу иудалить его из своей "задней" истории.Так что я думал об использовании «replace»

Я делал это на componentDidMount , но заметил, что все, кажется, запускается дважды.

// Page1Component
    componentDidMount(){


        if(true){
          const { replace } = props.routingStore;
          const params = props.match.params;

          replace('/members/home')
        }
      }

Так что, когда приведенный выше кодполучает удар, вот что происходит

1 Ответ

0 голосов
/ 23 мая 2019

вы можете использовать компонент Redirect непосредственно в методе render:

if(...) {
  return <Redirect to="/members/home" push={false}/>;
}

Обратите внимание, что использование push={false} заменит текущую запись в истории

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