开发者问题收集

我正在尝试在 React 中使用 setState

2020-04-21
92

我正尝试将 setState 函数用于我的 App 类中的方法。

当前代码示例:

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

>

我希望我的联系人数组的长度从 5 更改为 6。

我收到的错误如下:

TypeError:无法读取未定义的 addRandomContact 属性“setState”

2个回答

“this”关键字在此函数内无法访问,因此其未定义。 您必须使用如下所示的箭头函数:

addRandomContact = () => {
this.setState({
  actors: contacts.slice(0, 6)
})
Sallu
2020-04-21

虽然从您给出的代码库中看不出问题是什么,但您可能犯的一个错误是您没有在该类组件的构造函数内绑定 addRandomContact 。尝试将以下代码粘贴到您的构造函数中并检查它是否能解决

this.addRandomContact = this.addRandomContact.bind(this);
reachtokish
2020-04-21