reactjs - React 'this' 在 Chrome 开发者工具中未定义

标签 reactjs google-chrome this

当我在 Chrome 开发者工具“源”选项卡中检查我的 React 代码,并将鼠标悬停在“this.props”甚至“this”关键字/将其添加到监视中时,它显示为未定义。即使引用的代码执行成功。很烦人……这是bug吗?有解决方法吗?

enter image description here

最佳答案

它是未定义,因为您位于箭头函数内部,并且根据定义,箭头函数不拥有上下文,但它继承了封闭的上下文。

如果您检查右侧的菜单并向下滚动到当前范围,您将找到该函数的闭包链(在您的情况下,其中一个将是组件类),其中包含 this 由您的函数继承。

例如

enter image description here

An arrow function does not have its own this. The this value of the enclosing lexical scope is used;

Arrow functions doc

关于reactjs - React 'this' 在 Chrome 开发者工具中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54712662/

相关文章:

reactjs - 如何消除npm的警告?

javascript - 如何在 Next.js 中访问客户端窗口方法

javascript - 在非默认浏览器中使用 Electron 打开 URL

jquery - 使用方法原型(prototype)时将其传递给 jQuery 中的方法

对象内部的 Javascript/jQuery 事件处理程序范围使用关键字 this

javascript - 如何使 RNRF 中的自定义导航栏透明

android - Web 应用程序安装横幅未显示

javascript - 为什么我在localStorage中设置的和我得到的不一样?

c++ - 将 "this"传递给线程 C++

javascript - ReactJs 从组件聚合数据