gpt4 book ai didi

ReactJS Firebase 未捕获( promise )TypeError : Cannot read property 'setState' of undefined

转载 作者:行者123 更新时间:2023-12-03 14:08:20 24 4
gpt4 key购买 nike

我有这个代码。 console.log 部分工作并记录出正确的“temp”值。但是,我似乎无法将此值输入状态。我尝试了很多变化。以下变体会导致错误:未捕获( promise 中)类型错误:无法读取未定义的属性“setState”。

componentDidMount () {
this.removeListener = firebaseAuth().onAuthStateChanged((user) => {
if (user) {
ref.child(`users/CF0IRqCsXmMHaF5GV7uVF6XNOO33`)
.once('value')
.then(function(snapshot){
console.log(snapshot.val().info.temp);
this.setState({
temp: snapshot.val().info.temp
})
});

}
}
}

我尝试在最后添加一个绑定(bind),但它不起作用。如有任何帮助,我们将不胜感激。

最佳答案

问题是您使用的this不是react组件。由于您使用 function(snapshot){ 语法作为 Promise 回调的一部分,因此 this 的绑定(bind)会丢失。

尝试将 function (snapshot) { 更改为 (snapshot) => {,因为粗箭头语法将为您绑定(bind) this

关于ReactJS Firebase 未捕获( promise )TypeError : Cannot read property 'setState' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48271282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com