在React Native中不调用的函数内部的函数

时间:2018-11-15 05:59:57

标签: function react-native react-native-android react-native-ios

我是本机反应并在函数内部调用函数的新手。

到目前为止,我已经完成了以下工作:

第1步:创建了一个函数 _snapshotToArray ,以将Firebase快照转换为Arrray。

_snapshotToArray(snapshot) {
var returnArr = [];

snapshot.forEach(function(childSnapshot) {
    var item = childSnapshot.val();
    item.key = childSnapshot.key;

    returnArr.push(item);
});
return returnArr;
 }

第2步:如下创建另一个函数,并在其中调用 _snapshotToArray

_readUserDataFromFirebaseConsole() {//once and on
firebase.database().ref('Users/').on('value', function (snapshot) {
    console.log(this._snapshotToArray(snapshot));
    Toast.show(this._snapshotToArray(snapshot),Toast.LONG);
});
}

谈论这个电话:

console.log(this._snapshotToArray(snapshot));

当我按CTRL + CICK时,它不允许我导航到功能 _snapshotToArray 的主体。

“设备”中出现以下错误:

_snapshotToArray未定义

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

我现在不在我的电脑上,因此我无法对其进行测试,但是从查看您的代码开始,您需要使用不同的功能符号来允许对父方法和父类的访问/从父方法和父类的访问。

_snapshotToArray = snapshot => {
    var returnArr = [];

    snapshot.forEach(function(childSnapshot) {
        var item = childSnapshot.val();
        item.key = childSnapshot.key;

        returnArr.push(item);
    });
    return returnArr;
}

_readUserDataFromFirebaseConsole = () => {
    firebase.database().ref('Users/').on('value', snapshot => {
        console.log(this._snapshotToArray(snapshot));
        Toast.show(this._snapshotToArray(snapshot),Toast.LONG);
    });
}