Могу ли я предотвратить перезагрузку компонентов реакции при изменении строки запроса? - PullRequest
0 голосов
/ 09 апреля 2019

Я использую withRouter () для добавления местоположения и истории в компоненты моего реагирующего представления.Во время взаимодействия со страницей я часто меняю строку запроса, чтобы представление можно было добавить в закладки для последующего просмотра.Например, если я щелкаю по стране, я могу назвать этот код:

public onChangeCountry = (countryName: string): void => {
  this.setState({country: countryName});

  const search = `${queryString.stringify({
    country: countryName
  })}`;

  const url = `/countries?${search}`;
  this.props.history.replace(url);
}

Однако я заметил некоторые обещания, которые выдают исключения «не подключенный компонент» при изменении страны:

Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.

Кажется, что компонент отключается, а затем перемонтируется при изменении строки запроса, что приводит к тому, что страница запускает запрос fetch ().

Есть ли способ предотвратить перемонтирование компонента, когда толькоизменения строки запроса?

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