无法在本机反应中更新状态?

时间:2019-03-21 05:03:42

标签: javascript reactjs react-native ecmascript-6 react-redux

我对国家无法设置有一些疑问, 当我按下按钮时,状态设置为“ loading:true”,但是当我对Auth遇到一些错误时,我需要在写案例时将状态设置为“ loading:false”,以返回“登录”屏幕,但卡住了 LOADING 中! 错误是

stuck

  

“(id:0):   TypeError:this.setState不是函数”

注意,我正在使用React Native Firebase 这是我的代码|

f

1 个答案:

答案 0 :(得分:1)

catch(function(error) {})更改为箭头函数以获得this上下文

.catch((error) => {
   //...
   this.setState({ ... });
})

匿名函数具有其自己的上下文...为了获取对父上下文的引用,我们需要手动绑定它。与箭头函数不同...自动绑定到父上下文的原因是它没有自己的this

  

箭头函数本身没有此函数。这个值   使用封闭的词汇范围;箭头功能遵循正常   可变查找规则。所以在寻找这个不是   在当前范围内存在,他们最终从其封闭中发现了这一点   范围。

来源:MDN