2

这在控制台中未定义 “this”在 devtool 控制台中是未定义的,而它显然不是未定义的。一定是开发工具中的错误?

4

1 回答 1

1

当您正在检查 ES6/ES2015+ 代码(感谢源映射)而不是在可读性较差的 ES5 转译代码中的实际this代码时,该属性与您在源代码中看到的不同。

要访问this,请尝试在控制台中评估_this_this1_this2以查找您要查找的上下文。

const loaded = () => {
  this.setState({ loading: false });
};

// will be compiled/transpiled to

var _this = this;
var loaded = function loaded() {
  _this.setState({ loading: false });
};

参考:https ://www.sitepoint.com/bind-javascripts-this-keyword-react/

于 2017-06-28T12:38:56.083 回答