Javascript 在componentWillMount中找不到属性集
我知道我缺少一些基本的东西,如果有人能帮我,我会非常感激。这段代码给了我一个警告:“无法读取null的属性'setState'Javascript 在componentWillMount中找不到属性集,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我知道我缺少一些基本的东西,如果有人能帮我,我会非常感激。这段代码给了我一个警告:“无法读取null的属性'setState' 如果缺少组件的初始状态,请尝试向组件添加以下函数 getInitialState: function() { return { foundUser: false }; } 如果缺少组件的初始状态,请尝试向组件添加以下函数 getInitialState: function() { return { foundUser: false
如果缺少组件的初始状态,请尝试向组件添加以下函数
getInitialState: function() {
return {
foundUser: false
};
}
如果缺少组件的初始状态,请尝试向组件添加以下函数
getInitialState: function() {
return {
foundUser: false
};
}
使用此时,需要确保组件的上下文正确:
componentWillMount() {
var self = this;
var requestEmail = this.props.email
new Firebase(url)
.orderByChild('email')
.startAt(requestEmail)
.endAt(requestEmail)
.once('value', function (snap) {
var foundUser = snap.val();
if (foundUser) {
self.setState({found: true})
} else {
self.setState({foundUser: false})
}
});
},
将对该的引用保存在变量中,或者您可以使用.bind
,或者更好的es6箭头函数,因为它看起来像是在使用es6
new Firebase(url)
.orderByChild('email')
.startAt(requestEmail)
.endAt(requestEmail)
.once('value', (snap) => {
var foundUser = snap.val();
if (foundUser) {
this.setState({found: true})
} else {
this.setState({foundUser: false})
}
});
使用此时,需要确保组件的上下文正确:
componentWillMount() {
var self = this;
var requestEmail = this.props.email
new Firebase(url)
.orderByChild('email')
.startAt(requestEmail)
.endAt(requestEmail)
.once('value', function (snap) {
var foundUser = snap.val();
if (foundUser) {
self.setState({found: true})
} else {
self.setState({foundUser: false})
}
});
},
将对该的引用保存在变量中,或者您可以使用.bind
,或者更好的es6箭头函数,因为它看起来像是在使用es6
new Firebase(url)
.orderByChild('email')
.startAt(requestEmail)
.endAt(requestEmail)
.once('value', (snap) => {
var foundUser = snap.val();
if (foundUser) {
this.setState({found: true})
} else {
this.setState({foundUser: false})
}
});
可能是您忘记了在构造函数中创建初始状态对象,比如
this.state={foundUser:false}
是的,我尝试过了--应该已经显示了。然后我得到“无法读取null的属性'setState'。我觉得我没有正确处理作用域。您是否使用redux?如果是,您只能通过this.props访问您的状态。如果不是,您的代码的哪行显示了错误?不,我没有使用redux。它在第一行“this.setState”上显示了错误“行。可能是您忘了在构造函数中创建初始状态对象,比如this.state={foundUser:false}
是的,我试过了--应该已经显示出来了。”。然后我得到“无法读取null的属性'setState'。我觉得我没有正确处理作用域。您是否使用redux?如果是,您只能通过this.props访问您的状态。如果不是,您的代码的哪行显示了错误?不,我没有使用redux。它在第一行“this.setState”上显示了错误“行,就是这样!非常感谢,成功了!非常感谢你。