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

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

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

componentWillUnmount() {
   clearInterval(this.refresher)
}

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

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

Войти через центр авторизации
Похожие вопросы
03 мая 2024, в 00:45
1000 руб./за проект
02 мая 2024, в 23:56
2000 руб./за проект
02 мая 2024, в 23:29
1500 руб./в час