反应本地获取实时数据库数据不工作(firebase)?

反应本地获取实时数据库数据不工作(firebase)?

问题描述:

我是新来的react-native,并试图用firebase构建一个简单的应用作为后端。反应本地获取实时数据库数据不工作(firebase)?

我已经进行了注册,登录,注销并设置了一个移动号码。我正在尝试实时读取移动号码数据。获取数据的功能如下:

_listenForMobileNumberChanges(userId, callback) { 

    let userMobilePath = "/user/" + userId + "/details"; 

    firebase.database().ref(userMobilePath).on('value', (snapshot) => { 

     var mobile = ""; 

     if (snapshot.val()) { 
      mobile = snapshot.val().mobile 
     } 

     callback(mobile) 
     }); 
    } 

在渲染功能,我把一个ListView和调用的函数:

<ListView 
     dataSource={this.state.mobile} 
     renderRow={() => {this._listenForMobileNumberChanges(this.state.userId}} 
    /> 

我知道我错过了在ListView调用回调函数参数,但我不知道要添加到参数中,有谁能帮忙吗?

而不是使用一个ListView使用的TextInput,而不是在检测TextInput的onChangeText属性作出这样的metode打电话:

<TextInput 
     style={{height: 40, borderColor: 'gray', borderWidth: 1}} 
     onChangeText={(usermobileNumber) => this._listenForMobileNumberChanges()} 
     value={this.state.usermobileNumber} 
    /> 

解析无参数只是修改了Methode这样:

_listenForMobileNumberChanges() { 
    alert('inside the listen function'); 

    if(firebase.auth().currentUser) { 
     let userId = firebase.auth().currentUser.uid; 
     let userMobilePath = "/user/" + userId + "/details"; 

     firebase.database().ref(userMobilePath).on('value', (snapshot) => { 

      var mobile = ""; 

      if (snapshot.val()) { 
       mobile = snapshot.val().mobile 
      } 

      this.setState ({usermobileNumber: mobile}); 
     }); 
    } else { 
     this.setState ({usermobileNumber: ''}); 
    } 
    }