在构造函数中绑定函数时,如何在ES6 React中向事件处理程序添加参数

凯文·K

对于es6中的构造函数,建议我们尽早绑定函数,例如

class App extends React.Component {
  constructor(props) {
    super(props);
    this.handleClick = this.handleClick.bind(this); // bound early
  }

  handleClick() {
    // do stuff
  }
  ...
}

在ES5中,this.handleClick.bind(this, "foo")如果要保留上下文并发送额外的参数,通常可以调用类似的名称在ES6 React中使用新的类语法,对此最好的模式是什么?

例如,如果我的班级看起来像下面的代码,我将如何最好地访问"foo""bar值?(我知道答案不是,bind但这是我能最好地说明问题的方式)。

class App extends React.Component {
  constructor(props) {
    super(props);
    this.handleClick = this.handleClick.bind(this); // bound early
  }

  handleClick(event, value) {
    // do stuff with value ("foo" or "baz")
  }

  render() {
    return (
      <div>
        <button onClick={this.handleClick.bind("foo")} /> // incorrect code
        <button onClick={this.handleClick.bind("bar")} /> // incorrect code
      </div>
    )
  }
}
氏族

认为:

onClick={this.handleClick.bind(this)}

是相同的:

onClick={e => this.handleClick(e)}

因此,您可以执行以下操作:

    <button onClick={e => this.handleClick(e, 'foo')} />
    <button onClick={e => this.handleClick(e, 'baz')} />

最后,所有这些只是JavaScript。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在javascript es6类构造函数中声明一个对象

来自分类Dev

如何在 ES6 类构造函数中创建和填充二维数组

来自分类Dev

在 React 中参数化事件处理程序

来自分类Dev

如何在es6中创建析构函数

来自分类Dev

如何在ES6中获得对类函数的引用?

来自分类Dev

在ES6构造函数中更改键的值

来自分类Dev

ES6:无法在调用构造函数中解构

来自分类Dev

Javascript 在类构造函数中调用类 (ES6)

来自分类Dev

如何在React中向API调用函数添加参数

来自分类Dev

ES6类构造函数参数

来自分类Dev

如何在React中的事件处理程序之外执行绑定函数?

来自分类Dev

如何从ES6中的构造函数获取状态值?

来自分类Dev

如何从ES6中的构造函数获取状态值?

来自分类Dev

无法在onclick事件处理程序中传递参数-React

来自分类Dev

如何在类的构造函数中绑定用户提供的方法?

来自分类Dev

如何在Javascript事件处理程序中延迟向DOM添加元素

来自分类Dev

如何在Reactjs中绑定具有参数的构造函数中的函数

来自分类Dev

如何在ES6中解析函数参数名称

来自分类Dev

如何在React es6组件中定义静态函数?

来自分类Dev

如何在访存函数中更新es6中的变量?

来自分类Dev

如何在javascript es6中替换jQuery .val()函数?

来自分类Dev

如何在 reactjs ES6 中的 JSONArray 上使用 .map() 函数

来自分类Dev

ES6 map 函数如何在 JSX 中创建对象数组

来自分类Dev

如何在JavaScript中放置在事件处理程序中的函数中获取this.value作为参数?

来自分类Dev

如何在JavaScript ECMA6中重载构造函数?

来自分类Dev

如何在函数中绑定 this?

来自分类Dev

在类和构造函数中访问ES6 / ES7静态类变量

来自分类Dev

使用ES6时,如何在一个文件中而不是在另一个文件中取消定义导入的函数?

来自分类Dev

当主要构造函数是通用的时,如何在Kotlin中创建具体的次要构造函数?

Related 相关文章

  1. 1

    如何在javascript es6类构造函数中声明一个对象

  2. 2

    如何在 ES6 类构造函数中创建和填充二维数组

  3. 3

    在 React 中参数化事件处理程序

  4. 4

    如何在es6中创建析构函数

  5. 5

    如何在ES6中获得对类函数的引用?

  6. 6

    在ES6构造函数中更改键的值

  7. 7

    ES6:无法在调用构造函数中解构

  8. 8

    Javascript 在类构造函数中调用类 (ES6)

  9. 9

    如何在React中向API调用函数添加参数

  10. 10

    ES6类构造函数参数

  11. 11

    如何在React中的事件处理程序之外执行绑定函数?

  12. 12

    如何从ES6中的构造函数获取状态值?

  13. 13

    如何从ES6中的构造函数获取状态值?

  14. 14

    无法在onclick事件处理程序中传递参数-React

  15. 15

    如何在类的构造函数中绑定用户提供的方法?

  16. 16

    如何在Javascript事件处理程序中延迟向DOM添加元素

  17. 17

    如何在Reactjs中绑定具有参数的构造函数中的函数

  18. 18

    如何在ES6中解析函数参数名称

  19. 19

    如何在React es6组件中定义静态函数?

  20. 20

    如何在访存函数中更新es6中的变量?

  21. 21

    如何在javascript es6中替换jQuery .val()函数?

  22. 22

    如何在 reactjs ES6 中的 JSONArray 上使用 .map() 函数

  23. 23

    ES6 map 函数如何在 JSX 中创建对象数组

  24. 24

    如何在JavaScript中放置在事件处理程序中的函数中获取this.value作为参数?

  25. 25

    如何在JavaScript ECMA6中重载构造函数?

  26. 26

    如何在函数中绑定 this?

  27. 27

    在类和构造函数中访问ES6 / ES7静态类变量

  28. 28

    使用ES6时,如何在一个文件中而不是在另一个文件中取消定义导入的函数?

  29. 29

    当主要构造函数是通用的时,如何在Kotlin中创建具体的次要构造函数?

热门标签

归档