@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'));
  • Вопрос задан
  • 350 просмотров
Пригласить эксперта
Ответы на вопрос 2
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Путаница в вопросе:
1) как программно поменять путь?
2) как с помощью RR показать второй компонент через 10 сек?

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

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

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

Войти через центр авторизации
Похожие вопросы