Как исправить ошибку «Не удается выполнить состояние React...» в React

Я делаю мутацию в LyricСоздать

` onSubmit = (e) => {
    e.preventDefault();
    const { content } = this.state;
    const { songId, addLyric } = this.props;

    addLyric({
        variables: {
            content,
            songId
        },
    }).then( () => this.setState({ content: '' }) )
}` 

это идет хорошо, и добавляет в базу данных.

Но в родительском компоненте появляется ошибка с Как исправить ошибку «Не удается выполнить состояние React...» в React

после обновления созданной страницы Lyric появляется в lyricList, а родительский компонент песняДетали не имеет ошибок, пока я снова не сделаю мутацию.


Помогите, пожалуйста..

вам нужно проверить, смонтирован ли ваш компонент

AlexZvl 31.03.2019 13:01
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
1
264
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

вы можете проверить, смонтирован ли ваш компонент так

componentDidMount() { 
  this._ismounted = true;
}

componentWillUnmount() {
   this._ismounted = false;
}

onSubmit = (e) => {
   e.preventDefault();
   const { content } = this.state;
   const { songId, addLyric } = this.props;

   addLyric({
        variables: {
            content,
            songId
        },
    }).then(() => {
       if (this._ismounted {
         this.setState({ content: '' }) 
       }
    })
}

Может поможете еще с одним вопросом? Когда я делаю мутацию после того, как запрос не существует в сети. И снова после перезагрузки всех фиксов

Anton 31.03.2019 16:22

Другие вопросы по теме