Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修复错误“无法读取属性';设置状态';未定义的`_Javascript_Html_Json_Reactjs_Redux - Fatal编程技术网

Javascript 如何修复错误“无法读取属性';设置状态';未定义的`

Javascript 如何修复错误“无法读取属性';设置状态';未定义的`,javascript,html,json,reactjs,redux,Javascript,Html,Json,Reactjs,Redux,更新1: 我更新了小提琴,但仍然面临错误\u this.state.concat不是一个函数,您能帮我吗 当我点击卡片中的收藏夹图标时,卡片应该显示在收藏夹选项卡中,该选项卡是外部的。为此,我尝试将值从子级传递到父级,因此我在handleClick方法中使用setState 但是现在我犯了一个错误 无法读取未定义的属性“setState” 你能告诉我怎么修吗 (在下面提供我的代码片段和沙盒。 -卡片代码在actual-card.js中,选项卡代码在tab demo.js中) 状态={ 值:0,

更新1:


我更新了小提琴,但仍然面临错误\u this.state.concat不是一个函数,您能帮我吗

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

但是现在我犯了一个错误

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

你能告诉我怎么修吗

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

状态={
值:0,
上图:错,
左:错,
底部:错误,
右:错,
收藏夹:[]
};
//道具
手杖(道具){
console.log(“actualCard-->”);
//log(“event.currentTarget-->”,currentTarget.relatedTarget);
this.setState({收藏夹:this.state.concat(prop)});
}

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


尝试使用箭头函数,如
handleClick=(prop)=>{//code}

我更新了小提琴,但仍然面临一个错误\u this.state.concat不是一个函数,你能帮我一下吗?我告诉你如何修复所有代码有点不舒服,因为这看起来像是一个家庭作业问题?简单地说,你在这个州打电话给concat。this.state没有concat函数,因为它是一个对象。您要做的是将this.state.favorites设置为等于您传入的某个道具,可能是this.prop.favorites。你不应该陷入这种状态。我想你没有理解一些基本的概念,这些概念超出了这个问题的范围。嘿,这不是家庭作业问题…我看过很多教程,我想我会实现并看到。。。因此,我将获得一次relatime体验…不知道如何在“收藏夹”选项卡中显示收藏夹卡…您能否帮助我,以便将来我可以自己修复它…当我不确定您的用例是什么时,很难帮助您。似乎有很多逻辑缺失,我无法轻松填补这里的空白。你应该把问题分解成更小的部分。嘿,我打印了控制台,看到我看不到concat,当你单击卡片选项卡中的收藏夹图标时,它应该保存在收藏夹选项卡中…这是外部选项卡…所有卡片选项卡都在Favorites-cards.js中
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 />}
 />