如何从cloudinary react小部件访问全局范围

时间:2018-07-15 17:19:20

标签: javascript reactjs scope cloudinary

所以我很难弄清楚如何从cloudinary react小部件函数访问全局范围,我想要的是在响应时设置状态。

功能

uploadWidget() {
  cloudinary.openUploadWidget({ cloud_name: 'descl4zie', upload_preset: 'g3d6k0nl', tags:['xmas']},
    function(error, result) {
      console.log(result);
      this.setState({photo: secure_url});
    });
 }

渲染

render() {
  return (
    <button onClick={this.uploadWidget.bind(this)} className="upload-button">
      Add Image
    </button>
  )
}

当前出现此错误: 无法读取未定义的属性“ setState”

1 个答案:

答案 0 :(得分:1)

赋予'\0'的回调函数未绑定到openUploadWidget,因此this不会是您期望的回调函数。

您可以例如使用箭头函数代替使用包含您想要的this值的封闭词法范围:

this