Недавно я встретился с
«Может обновлять только смонтированный или монтируемый компонент.»
сообщение об ошибке, когда я пытался установить состояние после асинхронной выборкизвонок был сделан.Это произошло из-за того, что компонент был размонтирован до получения ответа http.
Затем я начал поиск в Google и нашел решение проблемы.
Что если переменная содержит «смонтированный» -состояние, и каждый раз, когда я хотел обновить состояние, я просто проверял переменную?Как и в случае с функцией safeSetState ()?
Вот пример:
componentDidMount = () => {
this._mounted = true;
}
componentWillUnmount = () => {
this._mounted = false;
}
safelySetState = (obj) => {
if(this._mounted)
this.setState(obj);
}
Затем, каждый раз, когда я хотел обновить состояние, я просто использовал вместо этого функцию this.safelySetState ().
Итак, мой вопрос: Почему бы мне не сделать это?Почему это уже не по умолчанию в React?