react promise疑惑

学习react例子的时候看到,常看到用ajax请求回来数据会有这样一段代码

componentDidMount() {
    this.props.promise.then(
      value => this.setState({loading: false, data: value}),
      error => this.setState({loading: false, error: error}));
  }

以第一个参数为例,如果this.setState({loading: false, data: value})是成功之后的回调,那value => 是做什么用的,删掉value =>好像会报value为undefined的错误

阅读 7.5k
2 个回答

这是基本功问题,建议你去看一下 ES6 中 promise 的语法。

value 是代表 promise 完成后的 resolve 值,需要通过 value 传递,你把 value => 删掉了它就不再是个函数,更不能传值了

新手上路,请多包涵

这里的代码value => this.setState({loading: false, data: value})是一个ES6中的箭头函数写法
用普通的函数写法写这个函数是:

function(value) {
    this.setState({loading: false, data: value})
}

所以value =>是不能去掉的, value是函数的形参

如果不知道箭头函数,去看看ES6

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题