Реакция: Как обрабатывать компоненты / состояния внутри одностраничного приложения? - PullRequest
0 голосов
/ 26 ноября 2018

Я разработал онлайн-форму Sharepoint, использующую реагирование.Sharepoint Online использует одну страницу, такую ​​как навигация, что означает отсутствие реальной перезагрузки / обновления страницы.

Форма загружает данные через запрос http.Но состояние показывает содержащие старые данные.Только после жесткого обновления / очистки кэша состояние содержит правильные данные.

Мои проблемы заключаются в том, что из-за навигации мое состояние реакции не обновляется должным образом.Я получаю данные асинхронно:

  public componentDidMount(): void {
    this._renderListAsync();
  }

_renderListAsync() делает http-запросы и устанавливает состояние:

._renderListAsync()
   .get("xxx.xxx.xxx") // HTTP request
   .then((response) => {
        this.setState({item:response});
  }

Цель состоит в том, чтобы загружать данные каждый раз, когда пользователи переходят ксайт.

Когда я очищаю кеш и выполняю полную перезагрузку, мои состояния обновляются до правильного.

Но когда пользователи перемещаются между различными сайтами, React просто добавляет больше компонентов:

enter image description here

Предназначено ли это?

Как я могу убедиться, что состояние обновляется правильно, и что я размонтирую старые компоненты?

...