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

Function inside a Function not calling in React Native

我是 react-native 和在函数内部调用函数的新手。

到目前为止我已经做了如下:

第 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+CLick 时,它不让我导航到函数体 _snapshotToArray

设备出现以下错误:

_snapshotToArray 未定义

可能是什么问题?

我现在不在我的电脑前,所以我无法测试它,但是从你的代码来看,你需要使用不同的函数符号来允许变量访问 of/from 父方法和父方法class。

_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);
    });
}