обновление 1:
Я обновил скрипку, но все еще сталкиваюсь с ошибкой _this.state.concat не является функцией , не могли бы вы мне помочь https://codesandbox.io/s/40mmrl9059
Когда я нажимаю значок избранного на карте, карта должна отображаться на вкладке «Избранное», которая является внешней. Для этого я пытаюсь передать значение от дочернего к родителю, поэтому я использую setState в методе handleClick.
Но сейчас я получаю сообщение об ошибке
Невозможно прочитать свойство 'setState' из неопределенного
Можете ли вы сказать мне, как это исправить?
(предоставив мой фрагмент кода и песочницу ниже.
- код карты находится в actual-card.js, а код вкладки - в tab-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 />}
/>