Задать вопрос
@Ucorp

Как в Reac Router программно поменять путь?

Есть два компонента. Первый компонент показывается сразу. Как с помощью React Router показать второй, например, через 10 секунд? Приложение без серверной стороны.
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, browserHistory, IndexRoute } from 'react-router';

var ComponentOne = React.createClass({
  componentDidMount: function () {
    setTimeout(function () {
      browserHistory.push('/two')
    }, 5000);
  },
  render: function () {
    return (
      <div className="one">Component One</div>
    );
  }
});

var ComponentTwo = React.createClass({
  render: function () {
    return (
      <div className="two">Component Two</div>
    );
  }
});


ReactDOM.render((
  <Router history={browserHistory}>
    <Route path="/" component={ComponentOne}>
      <IndexRoute component={ComponentOne}/>
      <Route path="/two" component={ComponentTwo} />
    </Route>
  </Router>
), document.getElementById('app'));
  • Вопрос задан
  • 385 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Путаница в вопросе:
1) как программно поменять путь?
2) как с помощью RR показать второй компонент через 10 сек?

То есть, вам нужно изменять роут, например через 10 секунд? (таким образом компонент, принадлежащий этому роуту будет показан).

Программно изменить роут можно с помощью push, replace (там же). Там же есть примеры, один из них.
Ответ написан
miraage
@miraage
Старый прогер
В componentDidMount первого компонента поставить таймер на редирект на второй компонент.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽