0

我正在阅读 React 教程,但无法理解我为什么会遇到错误。

我正在尝试使用 React 添加此按钮元素:

<button onClick={this.add.bind(null, 'new item')}>New Item</button>

事件处理程序应该调用位于不同 React 类中的以下函数:

    add: function(item) {
    var arr = this.state.comments;
    arr.push(item);
    this.setState({comments: arr});
    },

有人告诉我这不起作用,因为我“将 null 绑定到您的函数 this 值,并且在函数内部您正在访问 this 的属性,这会导致 typeError(可能:无法访问 null 或 sh 的属性状态。)”

但是,我不知道这意味着什么或如何解决问题。请帮忙。

下面是我的完整 codepen 项目和我正在使用的 youTube 教程(React JS 初学者教程 - 13 - TheNewBoston 创建新组件)的链接。

http://codepen.io/Daniel_Widrich/pen/yVaXXZ

https://www.youtube.com/watchv=OKRu7i49X54&index=13&list=PL6gx4Cwl9DGBuKtLgPR_zWYnrwv-JllpA

非常感谢您提前。这是我在 StackOverflow 上的第一个问题,我正在尝试接受基于该项目的学徒计划。任何反馈都非常感谢,我是一个大男孩,所以我可以处理批评。

-担

4

1 回答 1

0

错误消息Uncaught TypeError: Cannot read property 'bind' of undefined意味着您正在调用bind一个undefined对象。IE。this.addundefined

为什么是this.add未定义的?

因为您没有在组件add中定义函数。Boardadd功能从Comment组件移动到Board组件。

(将 Javascript 代码的第 15-19 行移动到Board组件中。)

工作密码笔

于 2017-02-06T22:02:58.427 回答