Я пытаюсь использовать setState в React - PullRequest
1 голос
/ 21 апреля 2020

Я пытаюсь использовать функцию setState для метода в моем классе приложения.

пример текущего кода:

addRandomContact() {
this.setState({
  actors: contacts.slice(0, 6)
})

}

Я ожидаю, что мой массив контактов изменится с длины от 5 до 6.

Я получаю следующую ошибку:

TypeError: Невозможно прочитать свойство 'setState' неопределенного addRandomContact

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

Ключевое слово "this" не будет доступно внутри этой функции и, следовательно, не определено. Вы должны использовать функцию стрелки, как показано ниже:

addRandomContact = () => {
this.setState({
  actors: contacts.slice(0, 6)
})
0 голосов
/ 21 апреля 2020

Хотя из заданной вами кодовой базы не очень ясно, в чем проблема, но одна возможная ошибка, которую вы можете сделать, заключается в том, что вы не связываете addRandomContact внутри конструктора этого компонента класса. Попробуйте вставить следующий код в ваш конструктор и проверьте, решает ли он

this.addRandomContact = this.addRandomContact.bind(this);
...