Не удается выполнить обновление состояния React для неустановленного компонента. Это неоперация - PullRequest
0 голосов
/ 28 октября 2019

У меня есть следующий код:

export class ProductsCategory extends Component {
constructor() {
    super();
    // Title page
    document.title = "products category";
    // Varables url
    let { getAllRows, changeOrder, changeTitle, changeIsActive } = new APIs().ProductsCategoryApi();
    this.state = {
        bindData: [],
        loading: true,
        getAllRowsUrl: getAllRows,
        changeTitleUrl: changeTitle,
        changeOrderUrl: changeOrder,
        changeIsActiveUrl: changeIsActive,
    };
    // Bind table
    this.bindTable();
}

bindTable = () => {
    // Bind table
    (async () => {
        let response = await fetch(this.state.getAllRowsUrl);
        // if HTTP-status is 200-299
        if (response.ok) {
            this.setState({
                bindData: await response.json(),
                loading: false
            });
            return;
        }
        Notify.bindData(false);
    })();
}

reloadTable = () => { }

componentDidUpdate() {
    this.bindTable();
}

render() {  Some code  };}

При изменении страницы я вижу эту ошибку на вкладке консоли:

"Невозможно выполнить обновление состояния React на отключенном компоненте. Это не работает, но это указывает на утечку памяти в вашем приложении. Чтобы исправить, отмените все подписки и асинхронные задачи в методе componentWillUnmount "

1 Ответ

0 голосов
/ 28 октября 2019

Вам необходимо очистить подписки. Вы можете использовать AbortController для достижения этой цели. Посмотрите этот пост

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