gpt4 book ai didi

java - React setState 不起作用,出现错误

转载 作者:行者123 更新时间:2023-12-01 17:59:54 24 4
gpt4 key购买 nike

尝试使用 setState 时出现以下错误:

Uncaught TypeError: Cannot read property 'setState' of null

我不知道我错在哪里,请有人指出我正确的方向。这是我的代码:

export default React.createClass({
getInitialState: function () {
return {
name: '',
address: '',
phone: '',
email: '',
}
},

componentWillMount(){
this.getUserDetails();
},

getUserDetails: function(){
var personID = 'ABC123';
if(personID.length > 0){
new Firebase('https://xxxxxxxxxx.firebaseio.com/users/' + personID).on('value', function(snap) {

this.setState({
name: snap.val().Name + " " +snap.val().Surname
});

});
}
},
render() {
return ( ... );
}
});

最佳答案

就像人们上面所说的那样,如果您只是将其编辑为箭头函数,它会将 this 的上下文从 Firebase 更改为外部范围 - 即组件。

  new Firebase('https://xxxxxxxxxx.firebaseio.com/users/' + personID).on('value', (snap) => {

this.setState({
name: snap.val().Name + " " +snap.val().Surname
});

});

关于java - React setState 不起作用,出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41855938/

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