gpt4 book ai didi

javascript - 我没有在构造函数中绑定(bind)函数的 "this",但为什么 "this"不是未定义的?

转载 作者:行者123 更新时间:2023-12-02 22:32:15 25 4
gpt4 key购买 nike

我的按钮具有以下 onClick 函数

<button
onClick={() => this.onDismiss(item.objectID)}
type="button"
>

我有一个 onDismiss 函数,可以过滤列表并更新我的 React 应用程序。我没有将函数的“this”绑定(bind)到它的构造函数。我故意评论了“this”绑定(bind),但该应用程序仍然有效。 ES6 箭头函数是否自动将函数的“this”绑定(bind)到 Component 类?我不应该变得未定义吗?

我的codesandbox link

最佳答案

arrow function :

An arrow function does not have its own this. The this value of the enclosing lexical scope is used; arrow functions follow the normal variable lookup rules. So while searching for this which is not present in current scope, an arrow function ends up finding the this from its enclosing scope.

这就是为什么您不需要将组件的范围绑定(bind)到函数。

关于javascript - 我没有在构造函数中绑定(bind)函数的 "this",但为什么 "this"不是未定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58855842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com