【问题标题】:TypeError 'x' is not a function [closed]TypeError'x'不是函数[关闭]
【发布时间】:2019-10-26 07:08:17
【问题描述】:

TypeError: this.props.handleClick 不是函数

class Task extends React.Component{

    render(){
        return(
            <div className="Task">
                <span style = {{ textDecoration : this.props.todo.done ? 'line-through' : 'none'}}>{this.props.todo.value}</span> 
                <button onClick = {() => this.props.handleClick(this.props.index)}>{this.props.todo.done ? 'Undo' : 'Complete'}</button>
            </div>
        )
    }
}

【问题讨论】:

  • 有什么问题?可能您忘记在&lt;Task&gt; 中指定handleClick
  • 嘿,欢迎来到 StackOverflow。为了帮助您,我们需要minimal reproducible example。您收到此错误是因为 this.props.handleClick 未定义——这可能是由父组件引起的。请发布更多相关代码。
  • 您对错误信息有什么不明白的地方?你有什么问题?
  • 我在中添加了句柄点击
  • 这是我写的完整代码codepile.net/pile/k5j6DA5o

标签: javascript reactjs


【解决方案1】:

好吧,你最好将 handleClick 作为一个 prop 传递给你的组件,并确保它是一个函数。

【讨论】:

  • 这是我编写的完整代码 codepile.net/pile/k5j6DA5o
  • 链接失效
  • 您的 List 组件没有传递给它的 handleClick。这就是为什么 Task 也没有它的原因。
  • 感谢先生解决问题
猜你喜欢
  • 2021-04-28
  • 2021-11-04
  • 2020-04-02
  • 2019-01-22
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
相关资源
最近更新 更多