Javascript 在react native上从Firebase实时获取数据

Javascript 在react native上从Firebase实时获取数据,javascript,reactjs,firebase,react-native,firebase-realtime-database,Javascript,Reactjs,Firebase,React Native,Firebase Realtime Database,我有一个正在初始化firebase数据库的js文件,我想连接到firebase实时数据库并获取相关信息 我正在调用的函数: get getName() { var ref = firebase.database().ref('variable').child('variable').child('variable'); ref.on('value', gotData, errData); function gotData(data) { console.log(data.val

我有一个正在初始化firebase数据库的js文件,我想连接到firebase实时数据库并获取相关信息

我正在调用的函数:

get getName() {
var ref = firebase.database().ref('variable').child('variable').child('variable');

ref.on('value', gotData, errData);



function gotData(data) {

    console.log(data.val());
    console.log(data.val().ogrIsim + 'getname calisti');
    console.log(String(data.val().ogrIsim));
    this.setState({
        name: (data.val().ogrIsim)
    });
    // return String(data.val().ogrIsim);
}

function errData(err) {
    console.log('errorrrr!!!' + err);
}
}

console.log(data.val()[variableName]);我将console打印为行中的字符串,但我无法更改它,因为它表示setstate e中有一个对象不是字符串。我应该如何进行

以及错误消息:


发生错误消息的原因是
gotData
函数内部的含义与在其外部的含义不同

有很多方法可以解决这个问题,但在这种情况下,显式的
bind()
可能最简单:

var ref = firebase.database().ref('variable').child('variable').child('variable');

ref.on('value', gotData, errData);

function gotData(data) {
  this.setState({ name: (data.val().ogrIsim) });
}.bind(this);
function errData(err) {
  console.log('errorr' + err);
}

有关这方面的更多信息,请参见设置状态时是否遇到错误?如果是,请共享错误。我想您正在查找
dersAdi:data.val()[VariableNAME]
,因此在
val()
之后减去
。我添加了错误消息并更新了代码块。我尝试了这个方法。没有“.”语句,但不起作用@Frank