Как решить ReactJs Невозможно выполнить обновление состояния React на отключенном компоненте - PullRequest
0 голосов
/ 13 февраля 2020

Я получаю эту ошибку, когда я пытался использовать реагирующий маршрутизатор, и я замечаю, что в моей среде reactjs все работает, но когда я запускаю npm, запускаю файл сборки, в то время как реагирующий маршрутизатор не работает,

Вот полная ошибка, которую я вижу, моя консоль должна исправить.

index.js:1 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.
    in TextTypeEffect (at carousel.js:8)
    in div (at carousel.js:7)
    in div (at carousel.js:6)
    in Carousel (at App.js:71)
    in Home (at App.js:41)

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

Это происходит, когда ваш компонент пытается установить состояние после размонтирования компонента, поэтому необходимо отписаться об обновлениях состояния в componentWillUnmount() Ниже приведен пример кода для компонентов класса

import React, { Component } from 'react';

class MyComponent extends Component {

    _isMounted = false;

    componentDidMount() {
        this._isMounted = true;
    }

    componentWillUnmount = () => this._isMounted = false;

    setState = (state, callback) => this._isMounted && super.setState(state, callback);
}
0 голосов
/ 13 февраля 2020

Попробуйте отписаться от вашего состояния, внутри компонента появляется ошибка: например,

 const [didMount, setDidMount] = useState(false); 

    useEffect(() => {
     setDidMount(true);
     //You need to unsubscribe before un-mounting component
     return () => setDidMount(false);
    }, [])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...