Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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 TypeError:this.props.*不是函数(即使有绑定)_Javascript_Reactjs_React Props - Fatal编程技术网

Javascript TypeError:this.props.*不是函数(即使有绑定)

Javascript TypeError:this.props.*不是函数(即使有绑定),javascript,reactjs,react-props,Javascript,Reactjs,React Props,我不断得到以下错误: TypeError:this.props.onDelete不是一个函数 我在render()中的函数上有.bind(这个),但是这个错误似乎一直在发生,我不知道为什么。以下是相关代码: App.js import React,{Component}来自'React'; 从“./Components/TODO”导入TODO; 类应用程序扩展组件{ 删除TODO(id){ 让todos=this.state.todos; for(设i=0;i

我不断得到以下错误:

TypeError:this.props.onDelete不是一个函数

我在render()中的函数上有.bind(这个),但是这个错误似乎一直在发生,我不知道为什么。以下是相关代码:

App.js

import React,{Component}来自'React';
从“./Components/TODO”导入TODO;
类应用程序扩展组件{
删除TODO(id){
让todos=this.state.todos;
for(设i=0;i导出默认应用程序this.delete(this.props.id).bind(this)
调用
this.delete
函数,而不是给
onClick
一个函数引用

你可以这样写:

onClick={this.delete.bind(this, this.props.id)}
或使用箭头功能:

onClick={() => this.delete(this.props.id)}

恐怕你还没有展示足够的代码。我猜您的
li
创建是在
map
回调或类似回调中,并以这种方式丢失
,但是。。。请使用演示问题的工具更新您的问题,最好是使用堆栈片段(
[]
工具栏按钮)运行的工具。堆栈代码段支持React,包括JSX。你能检查一下上面的url吗?因为你会知道Thole下面的答案是正确的(如果不是问题,那肯定是问题,也可能是问题),但是有了更多的上下文,我们可能会建议更好的方法。@T.J.Crowder你的权利,我是通过
    而不是。我的原始帖子中没有包含map()。我已经编辑了这篇文章,所以你可以观察我的错误。请仔细阅读上面我喜欢的两件事,还有。上面的“代码段”不可运行,它们应该只是代码块。但是提供一个可运行的代码片段会非常有帮助。很抱歉没有在原始文章中添加更多的上下文,我已经编辑了这篇文章,为上下文添加了更多的代码。我相信我的问题是,在Todos.js中,我没有通过元素传递onDelete,而是通过
      元素传递它。