我尝试在componentDidmount的for循环中使用setState更新状态,但是每次出现此错误“无法读取null的'setState'属性”
import React,{Component} from 'react';
import '../../../Config'
import * as firebase from 'firebase';
import './Header.scss'
class MessageBox extends Component {
constructor(props){
super(props);
this.state = {
users:[],}
this.setState= this.setState.bind(this)
}
componentDidmount(){
firebase.database()
.ref("Users")
.on('value',gotData,errData);
function gotData (data) {
var users = data.val();
console.log(users,"uuuuuuuuuuuu")
var keys=Object.keys(users);
console.log(keys,"keys")
for (var i = 0; i<keys.length; i++){
var k = keys[i];
var myuser = (users[k]);
this.setState({users: myuser});
console.log(myuser,'newUser')
console.log(myuser.username,"myusername")
console.log(myuser.id,"myuserId")
console.log(myuser.imageURL,"myuserImage")