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

Как обновить компонент React.js?

Есть вот такая штука
<Route path="/" component={App}>
      <IndexRoute component={Main} />
      <Route path="data" component={Data} />
      <Route path="about" component={About} />
    </Route>

Как сделать чтобы у всех пользователей, которые открыли data эта страница перезагружалась раз в секунду не методом window.location.reload(), а как-то более кошерно?
  • Вопрос задан
  • 8306 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
romanonthego
@romanonthego
в компоненте Data:
componentDidMount() {
   this.refresher = setInterval(1000, () => this.forceUpdate())
}

componentWillUnmount() {
   clearInterval(this.refresher)
}

Это отвечая на вопрос. Но вообще - если _сам_ компонент не перерисовывает страницу - значит данные в props/state не изменились, а значит render вернет тот же результат. Правильно было бы подписаться на поток данных (через websocket или лонг-пуллинг - не важно) и рендерить изменения только когда что-то реально изменилось. Я так понял что перегрузка страницы в данном случае заменят рефреш данных - так не надо, надо лучше.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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