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

原文 标签 reactjs google-chrome this

这个问题在这里已经有了答案:





Value of "this" is incorrect when debugging Babel transpiled React with Chrome Devtools

(1 个回答)


2年前关闭。




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

enter image description here

最佳答案

它是 undefined因为你在一个箭头函数中,并且根据定义,箭头函数不拥有上下文,但它继承了封闭的上下文。
如果您检查右侧的菜单并向下滚动到当前范围,您会发现该函数的闭包链(在您的例子中将是组件类),它具有 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/

相关文章:

javascript - 回流商店在一种情况下不听 Action

javascript - CSS 过渡高度和填充

javascript - react 路由器和表达 GET 冲突

android - 在 Android 启动时将 Chrome 作为 Web 应用程序启动

javascript - $ .mobile.changePage无法在Chrome和Safari中使用

javascript 将 console.log 分配给一个对象

reactjs - 如果不需要propType,为什么ESLint要为其提供默认prop?

google-chrome - Chrome 中的圆 Angular 不起作用

java - 此关键字不适用于servlet

JavaScript - "this"的所有者