如何修复错误"无法读取未定义的属性'setState'"



更新1:

我更新了小提琴,但仍然面临错误_this.state.concat不是函数,你能帮我吗https://codesandbox.io/s/40mmrl9059

当我点击卡片中的收藏夹图标时,卡片应该显示在收藏夹选项卡中,即外部。为此,我试图将值从子项传递给父项,所以我在handleClick方法中使用setState。

但现在我收到一个错误

无法读取未定义的属性"setState">

你能告诉我如何修复它吗?

(下面提供我的代码片段和沙箱。-卡片代码在actual-card.js中,选项卡代码在选项卡demo.js中(

https://codesandbox.io/s/40mmrl9059

state = {
value: 0,
top: false,
left: false,
bottom: false,
right: false,
favorites: []
};
// props
handleClick(prop) {
console.log("actualCard--->");
//console.log("event.currentTarget--->", currentTarget.relatedTarget);
this.setState({ favorites: this.state.concat(prop) });
}

<IconButton
// onClick={this.handleClickOpen}
onClick={this.handleClick}
aria-label="Add to favorites"
>
<Tabs
value={value}
onChange={this.handleChange}
scrollable
scrollButtons="on"
indicatorColor="primary"
textColor="primary"
>
<Tab label="Search" icon={<PhoneIcon />} />
<Tab
favorites={favorites}
label="Favorites"
icon={<FavoriteIcon />}
/>

您需要将this绑定到事件处理程序

尝试使用类似handleClick = (prop) => {//code}的箭头功能

最新更新