Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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 在react中将函数作为道具传递,无法读取属性'_手孔';未定义的_Javascript_Reactjs_Create React App - Fatal编程技术网

Javascript 在react中将函数作为道具传递,无法读取属性'_手孔';未定义的

Javascript 在react中将函数作为道具传递,无法读取属性'_手孔';未定义的,javascript,reactjs,create-react-app,Javascript,Reactjs,Create React App,我尝试在react中实现一个类表。一个表有多行,每行都有一个按钮。首先,我尝试传递一个函数handleEvent 现在,我总是以以下方式结束: TypeError:无法读取未定义的属性“\u-doDeleteItem” 存在某种绑定错误,但我无法解决 干杯 class Table extends Component { constructor(props,context) { super(props,context); this.state = { k : 3 };

我尝试在react中实现一个类表。一个表有多行,每行都有一个按钮。首先,我尝试传递一个函数handleEvent

现在,我总是以以下方式结束: TypeError:无法读取未定义的属性“\u-doDeleteItem”

存在某种绑定错误,但我无法解决

干杯

class Table extends Component {
  constructor(props,context) {
    super(props,context);
    this.state = { k : 3 };
    this._handleEvent = this._handleEvent.bind(this);
  }

  _handleEvent (e) {
     console.log('delete')
   }

   render() {
      var rows = [];
      var lastCategory = null;
      this.props.results.slice(-this.state.k).forEach(function(r) {
      rows.push( <Rows result = {r} deleteItem = {this._handleEvent} />);
      });
      return(
        <Panel>
         <ListGroup fill>
          {rows}
         </ListGroup>
        </Panel>
      );
     } 
    }
    export default Table;

   class Rows extends Component{
     render() {
      return(
        <ListGroupItem>
          <b>Text:</b><Button onClick = {this.props.deleteItem} type="False"><b>True</b></Button><br/>
        </ListGroupItem>
      );
      }
     }
类表扩展组件{
构造函数(道具、上下文){
超级(道具、背景);
this.state={k:3};
this.\u handleEvent=this.\u handleEvent.bind(this);
}
_扶手通风口(e){
console.log('delete')
}
render(){
var行=[];
var lastCategory=null;
this.props.results.slice(-this.state.k).forEach(函数(r){
rows.push();
});
返回(
{rows}
);
} 
}
导出默认表;
类行扩展组件{
render(){
返回(
文本:True
); } }
不是内部的组件实例。使用arrow函数、绑定匿名函数或将
作为第二个参数传递给
forEach

 this.props.results.slice(-this.state.k).forEach(function(r) {
   rows.push( <Rows result = {r} deleteItem = {this._handleEvent} />);
 }.bind(this));
this.props.results.slice(-this.state.k).forEach(函数(r){
rows.push();
}.约束(这个);

this.props.results.slice(-this.state.k).forEach(函数(r){
rows.push();
},这个);

展示你的“尝试”方法。你有
行项目的代码吗?
deleteTrue
非常奇怪每当JavaScript中出现“cannotdox of undefined”时,100%的情况下这意味着您试图访问一个属性或对一个尚未定义的变量执行某些操作,因此出现了未定义的错误。
 this.props.results.slice(-this.state.k).forEach(function(r) {
   rows.push( <Rows result = {r} deleteItem = {this._handleEvent} />);
 }, this);