我正在尝试在 React 中使用 setState

IT技术 reactjs setstate
2021-05-24 11:15:30

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

当前代码示例:

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

}

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

我收到的错误如下:

类型错误:无法读取未定义的 addRandomContact 的属性“setState”

2个回答

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

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

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

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