为什么x.func1 x.fun2 x.func3函数在onClick中不起作用

耶稣

这是我的代码

function App() {
  const x = {
    value: 10,
    func1() {
      console.log(this.value, "111");
    },
    func2: function() {
      console.log(this.value, "222");
    },
    func3: () => {
      console.log(this.value, "222");
    }
  };
  return (
    <div>
      <h1 onClick={x.func1}>1</h1>
      <h1 onClick={x.func2}>2</h1>
      <h1 onClick={x.func3}>3</h1>
    </div>
  );
}

我创建了一个对象X,它具有3个函数func1, func2, func3为什么x.func1,x.fun2 x.func3函数在onClick中不起作用?

或Drori

因为func1func2没有绑定到x,并且在称为事件处理程序时thisundefinedfunc3是箭头功能,并得到this封闭词法作用域,这是App功能。this函数值取决于是否在严格模式下调用它-请参见MDN上的函数上下文

指向x而不是this

function App() {
  const x = {
    value: 10,
    func1() {
      console.log(x.value, "111");
    },
    func2: function() {
      console.log(x.value, "222");
    },
    func3: () => {
      console.log(x.value, "222");
    }
  };
  return (
    <div>
      <h1 onClick={x.func1}>1</h1>
      <h1 onClick={x.func2}>2</h1>
      <h1 onClick={x.func3}>3</h1>
    </div>
  );
}

ReactDOM.render(
  <App />,
  root
)
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>

<div id="root"></div>

文字对象上的箭头功能示例:

const x = {
  func3: () => {
    console.log(this === window); // this points to the enclosing lexical scope, which is window
  }
};

x.func3();

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

number_in_month练习(为什么x = x + 1被认为是sml中的布尔值,而x是int以及如何正确地表示x = x + 1?)

来自分类Dev

为什么{{isNan(x)}}在angularJS中不起作用?

来自分类Dev

为什么(1-x)(1 + x)比(1-x ^ 2)更受青睐?

来自分类Dev

为什么seq(x)比1:length(x)慢得多?

来自分类Dev

x = x + 1!= x ++?

来自分类Dev

为什么“ x = a或b”在Perl中不起作用?

来自分类Dev

为什么x!= x.isdigit()不起作用?

来自分类Dev

为什么-1 * x比-x快,为什么?

来自分类Dev

为什么只有Matrix3x2和Matrix4x4?

来自分类Dev

为什么正则表达式引擎选择从.X | ..X | X。中匹配模式..X`?

来自分类Dev

为什么x [function(){}]起作用?

来自分类Dev

为什么函数'x'.write(frame)对我不起作用?

来自分类Dev

Elixir中“ fun1 arg |> fun2”和“ fun1(arg)|> fun2”之间的区别

来自分类Dev

为什么语法func1(func2)(parameters); 工作,这叫什么?

来自分类Dev

为什么在Python中x * = y比x = x * y慢?

来自分类Dev

当func1保持运行并返回时,如何在func1内部调用func2?

来自分类Dev

为什么更改x轴在绘图中不起作用?

来自分类Dev

为什么x in(1,2,3):比x == 1或x == 2或x == 3快?

来自分类Dev

创建包含mutate(x = x * 2)的函数(data,x)不起作用

来自分类Dev

为什么+ = x比a = a + x慢?

来自分类Dev

为什么seq(x)比1:length(x)慢得多?

来自分类Dev

为什么remove(x)不起作用?

来自分类Dev

在Java中创建列表[xn,x-n + 1,...,x,x + 1,x + 2,... x + n]

来自分类Dev

循环(1 + x + x ** 2 + x ** 3 + x ** 4 .... n)不起作用

来自分类Dev

为什么kibana 3.x无法与弹性搜索2.x一起使用?

来自分类Dev

为什么ctrl + x + e不起作用?

来自分类Dev

为什么x = {1:4}返回1x1单元格,而x = {1 2 3 4}返回1x4单元格?[MATLAB]

来自分类Dev

为什么在列表中使用 x 并更改 x 的值在 Python 中不起作用

来自分类Dev

为什么 (X.shape[0], -1) 在矩阵 X 上使用 reshape 函数时用作参数?

Related 相关文章

  1. 1

    number_in_month练习(为什么x = x + 1被认为是sml中的布尔值,而x是int以及如何正确地表示x = x + 1?)

  2. 2

    为什么{{isNan(x)}}在angularJS中不起作用?

  3. 3

    为什么(1-x)(1 + x)比(1-x ^ 2)更受青睐?

  4. 4

    为什么seq(x)比1:length(x)慢得多?

  5. 5

    x = x + 1!= x ++?

  6. 6

    为什么“ x = a或b”在Perl中不起作用?

  7. 7

    为什么x!= x.isdigit()不起作用?

  8. 8

    为什么-1 * x比-x快,为什么?

  9. 9

    为什么只有Matrix3x2和Matrix4x4?

  10. 10

    为什么正则表达式引擎选择从.X | ..X | X。中匹配模式..X`?

  11. 11

    为什么x [function(){}]起作用?

  12. 12

    为什么函数'x'.write(frame)对我不起作用?

  13. 13

    Elixir中“ fun1 arg |> fun2”和“ fun1(arg)|> fun2”之间的区别

  14. 14

    为什么语法func1(func2)(parameters); 工作,这叫什么?

  15. 15

    为什么在Python中x * = y比x = x * y慢?

  16. 16

    当func1保持运行并返回时,如何在func1内部调用func2?

  17. 17

    为什么更改x轴在绘图中不起作用?

  18. 18

    为什么x in(1,2,3):比x == 1或x == 2或x == 3快?

  19. 19

    创建包含mutate(x = x * 2)的函数(data,x)不起作用

  20. 20

    为什么+ = x比a = a + x慢?

  21. 21

    为什么seq(x)比1:length(x)慢得多?

  22. 22

    为什么remove(x)不起作用?

  23. 23

    在Java中创建列表[xn,x-n + 1,...,x,x + 1,x + 2,... x + n]

  24. 24

    循环(1 + x + x ** 2 + x ** 3 + x ** 4 .... n)不起作用

  25. 25

    为什么kibana 3.x无法与弹性搜索2.x一起使用?

  26. 26

    为什么ctrl + x + e不起作用?

  27. 27

    为什么x = {1:4}返回1x1单元格,而x = {1 2 3 4}返回1x4单元格?[MATLAB]

  28. 28

    为什么在列表中使用 x 并更改 x 的值在 Python 中不起作用

  29. 29

    为什么 (X.shape[0], -1) 在矩阵 X 上使用 reshape 函数时用作参数?

热门标签

归档