javascript - 箭头功能在浏览器中不起作用

标签 javascript node.js reactjs ecmascript-6

下面的方法效果很好

var DBBox = React.createClass({
  loadArticlesFromServer: function() {
  $.ajax({
    url: this.props.url,
    dataType: 'json',
    data: {username:data.username,isPublished:data.isPublished, heading:data.heading},
    cache: false,
    success: function(data) {
      this.setState({data: data});
    }.bind(this),
    error: function(xhr, status, err) {
      console.error(this.props.url, status, err.toString());
    }.bind(this)
  });
},

但是如果我像这样将第 2 行的方法声明更改为箭头函数

loadArticlesFromServer: ()=> {  //error - Cannot read property 'props' of undefined at line 6

loadArticlesFromServer= ()=> {  //Syntax error

我是否错误地使用了箭头功能或遗漏了什么?或者不支持?我正在使用 chrome 并尝试启用和谐标志,但没有任何运气。

最佳答案

箭头函数表达式最适合非方法函数。让我们看看当我们尝试将它们用作方法时会发生什么。

'use strict';
var obj = {
  i: 10,
  b: () => console.log(this.i, this),
  c: function() {
    console.log( this.i, this)
  }
}
obj.b(); // prints undefined, Window
obj.c(); // prints 10, Object {...}

关于javascript - 箭头功能在浏览器中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39941827/

相关文章:

javascript - API 调用后 React 事件处理程序设置为 null

javascript - 等到 promise 完成后返回 true 或 false

node.js - 将 objectID 列为选择值并保存表单

node.js - 在 Node Express 应用程序中安装 Entrust SSL 证书

reactjs - 在airbnb/react-native-maps中自定义我的位置按钮

javascript - 在 gulp 任务中删除文件

javascript - 有没有办法禁用对 div 及其子节点的关注?

javascript - 尽管上传成功,但在 aws s3 中找不到图像

reactjs - 我如何在 react 中制作这样的组件?

reactjs - 如何修复包含大量选项的选择元素的延迟