Я использую 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 ().
Есть ли способ предотвратить перемонтирование компонента, когда толькоизменения строки запроса?