函数内的函数不在 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);
});
}
我是 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);
});
}