this.state在Firebase事件侦听器中不起作用

时间:2020-06-24 15:37:16

标签: javascript firebase react-native firebase-realtime-database

问题:进入Firebase侦听器后,代码将起作用,直到出现this.state.users为止,在该位置停止工作。

这部分代码位于按钮的某个位置,但没有问题。

this.setState({
  users:
    [
      {
        name: Object.values(snapshot.val())[i].name,
        email: Object.entries(snapshot.val())[i][0]
      }
    ],
  found:true
})

其他信息:

constructor() {
    super();
    this.state = { 
      searchInput: '',
      foundUsersOutput:null,
      users:[], <---
      found:false, <---
    }
    this.findUser = this.findUser.bind(this)
  }

这是问题所在的位置,错误从这里开始。错误是指console.log(this.state.users+'2')

componentDidUpdate(){
  console.log(this.state.users+'0')
  console.log('here0')
  if(this.state.found === true){
    console.log(this.state.users+"1")
    database().ref('users').child(this.state.users[0].email).on('child_added', function(data){
      console.log('asd')
      console.log(this.state.users+'2')
    })
  }
}

输出:

[object Object]0
here0
[object Object]1
asd

错误: error part 1 error part 2

0 个答案:

没有答案