Как в react программно перейти на страницу?

Изучаю react, самую базу сейчас осваиваю. По роутам для изучения основ почитал статейку https://habrahabr.ru/post/329996/, всё завелось, всё заработало как надо, но встал вопрос - как мне открыть страницу не кликая по ссылке (например по таймеру) в рамках примеров данной статьи? Пробовал использовать 'history/createBrowserHistory' и там делать push в history, но url меняется, а страница остаётся прежней, в консоль ошибок при этом не валит. Находил примеры, в которых к history обращаются через пропсы или контекст, но у меня ни там ни там в компоненте из которого пытаюсь инициировать переход на целевую страницу history отсутствует.
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@Niki_tos
Оберните ваш компонент в withRouter HOC и будет вам history в props.

import React, { Component } from 'react';
import { withRouter } from "react-router-dom";


class componentName extends Component {

  componentDidMount()  {
    setTimeout( () => this.props.history.push("ваш адрес"), 5000);
  };

    render() {
        return (
            <div>
                
            </div>
        );
    }
}

export default withRouter(componentName);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы