【问题标题】:What is the purpose of doing (bind(this)) while handling the events in React .jst?在 React .jst 中处理事件时做 (bind(this)) 的目的是什么?
【发布时间】:2017-06-30 05:22:18
【问题描述】:

(在 React 编码中)每当我点击屏幕时,我都想使用 OnClick 事件来计算一些东西。为此,我从互联网上获得了如下示例代码,

<div className="sample" onClick={this.handleClick.bind(this)}>

handleClick 方法和&lt;div&gt; 位于同一方法中。谁能解释为什么这里需要绑定,为什么我们不应该直接调用handleClick() 方法而不绑定?

【问题讨论】:

标签: jquery reactjs react-native dom-events


【解决方案1】:

“this”关键字指的是当前组件(比如组件 A)在 react 中的上下文。基本上在 java-script 中它是指当前的类或函数,但对于 react 它是指当前的组件。

如果你没有用你的handleClick方法发送这个,那么每当你调用handleClick方法时,handleClick永远不会知道组件A的东西(比如变量或函数)。

【讨论】:

    【解决方案2】:

    在 JavaScript 中有一种叫做上下文的东西。它包括使用 this 关键字在当前范围内找到的内容。因此,通过使用绑定,您将调用 handleClick 的上下文传递给函数 handleClick,以便该函数可以使用绑定上下文中的 this.values。

    More info here.

    【讨论】:

      猜你喜欢
      • 2013-06-26
      • 1970-01-01
      • 2015-06-26
      • 1970-01-01
      • 2017-06-23
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多