Как исправить ошибку `Не удается прочитать свойство 'setState' из неопределенного` - PullRequest
0 голосов
/ 06 ноября 2018

обновление 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 />}
 />

1 Ответ

0 голосов
/ 06 ноября 2018

Вам нужно привязать this к вашему обработчику событий

Попробуйте использовать функцию со стрелкой, например handleClick = (prop) => {//code}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...