Javascript 如何在此处运行此.setState函数

Javascript 如何在此处运行此.setState函数,javascript,reactjs,Javascript,Reactjs,我无法运行132行中的这个.setState 为读卡器的处理程序使用箭头语法。onload reader.onloaded = () => { preview.src = reader.result this.setState(...) } 原因是函数有自己的此因此将阻止您访问React.Component的此 使用箭头语法创建的方法不会创建自己的this。或者也可以将此绑定到函数 reader.onloaded = (function() { preview.src = r

我无法运行132行中的这个.setState


读卡器的处理程序使用箭头语法。onload

reader.onloaded = () => {
  preview.src = reader.result
  this.setState(...)
}
原因是
函数
有自己的
因此将阻止您访问
React.Component

使用箭头语法创建的方法不会创建自己的
this
。或者也可以将
绑定到函数

reader.onloaded = (function() {
  preview.src = reader.result
  this.setState(...)
}).bind(this)

,但如果您将函数转换为箭头函数,则可以决定是否使用它

reader.onLoadEnd = () => {
     this.setState({state:state})
}