我有一个React Native组件,需要在其中使用ComponentDidmount
。同样在ComponentDidmount
中,我正在使用setState
,因为我不确定有其他方法可以解决我的目的。我猜因为这个原因,我得到了错误:Invariant Violation: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate
。尽管我没有使用componentWillUpdate
或componentDidUpdate
。这是我的代码:
currentUsers=()=>{
let dbRef = firebase.database().ref('Users');
dbRef.on('child_added',(val)=>{
let person = val.val();
person.phone = val.key;
this.setState((prevState)=> {
return {
users: [...prevState.users,person]
}
})
})
}
componentWillMount(){
this.currentUsers();
}
我该怎么办才能解决该错误?