Javascript React Native-在另一个函数中无法识别函数
我正在使用Firebase实时存储。我试图从firebase ref.on()函数内部调用函数 我的代码:Javascript React Native-在另一个函数中无法识别函数,javascript,firebase,react-native,firebase-storage,Javascript,Firebase,React Native,Firebase Storage,我正在使用Firebase实时存储。我试图从firebase ref.on()函数内部调用函数 我的代码: export default class HomeScreen extends React.Component { constructor(props) { super(props); ref.on("value", function (snapshot) { dosomething(snapshot.val()) //<-- not recogn
export default class HomeScreen extends React.Component {
constructor(props) {
super(props);
ref.on("value", function (snapshot) {
dosomething(snapshot.val()) //<-- not recognized
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
}
dosomething(val){
//...
}
//....
});
导出默认类主屏幕扩展React.Component{
建造师(道具){
超级(道具);
参考“值”,功能(快照){
dosomething(snapshot.val())/您需要将函数(snapshot){
更改为(snapshot)=>{
现在,该回调中的this
是包含词法上下文的this
值,即构造函数
然后您可以使用this.dosomething
——因为dosomething
是this
export default class HomeScreen extends React.Component {
constructor(props) {
super(props);
ref.on("value", (snapshot) => {
this.dosomething(snapshot.val())
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
}
dosomething(val){
//...
}
//....
});
您需要将函数(快照){
更改为(快照)=>{
现在,该回调中的this
是包含词法上下文的this
值,即构造函数
然后您可以使用this.dosomething
——因为dosomething
是this
export default class HomeScreen extends React.Component {
constructor(props) {
super(props);
ref.on("value", (snapshot) => {
this.dosomething(snapshot.val())
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
}
dosomething(val){
//...
}
//....
});