Я должен вызывать API, когда пользователь перестает печатать, и он работает отлично.И я должен смонтировать, когда нажата клавиша ввода.Я сделал Mock Component здесь , который делает это.
Но, когда компонент отключен, он показывает ошибку Cannot call setState on an unmounted component
.Ранее я обработал эту ошибку с this.isMounted
.Теперь я пытался справиться с этим с помощью отмены обещаний в componentWillUnmount, как упомянуто в React Blog .
this.cancellablePromise = makeCancelable(getSearchResults(word));
this.cancellablePromise.promise
.then(res => {
console.log({ res });
this.setState({ values: res });
})
.catch(err => console.log("error", err));
console.log("in data ", this.cancellablePromise);
}
CancellablePromise назначается после выполнения обещания.Поэтому в componentWillUnMount есть нулевой объект для экземпляра cancellablePromise.