Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
const javascript react native中的调用函数_Javascript_Reactjs_Firebase_React Native_Geofire - Fatal编程技术网

const javascript react native中的调用函数

const javascript react native中的调用函数,javascript,reactjs,firebase,react-native,geofire,Javascript,Reactjs,Firebase,React Native,Geofire,我对本地语言和javascript都是新手。我来自java和android开发。 我希望在常量中调用函数,但无论我以何种方式尝试,都会遇到大量错误 我得到了一个错误: this.collectionUpdate is not a function 主屏幕: 我知道这可能对我不起作用,因为我对javascript的了解还不够,无法理解我做错了什么,但是,我会很快开始学习javascript课程,以便更好地理解。但如果有人能告诉我哪里出了问题,我会非常感激。我觉得这是因为我试图调用常量中的函数?这

我对本地语言和javascript都是新手。我来自java和android开发。 我希望在常量中调用函数,但无论我以何种方式尝试,都会遇到大量错误

我得到了一个错误:

this.collectionUpdate is not a function
主屏幕:

我知道这可能对我不起作用,因为我对javascript的了解还不够,无法理解我做错了什么,但是,我会很快开始学习javascript课程,以便更好地理解。但如果有人能告诉我哪里出了问题,我会非常感激。我觉得这是因为我试图调用常量中的函数?

这与常量无关,而是与函数有关。使用关键字function编写的函数将为此创建一个新范围。当你在函数内部使用它时,你看到的是一个不同于函数外部的东西

geoQuery.on('key_entered', function(key, doc, distance) {
    this.onCollectionUpdate(doc) // wrong "this"
})
解决此问题的一个简单方法是在此处使用=>函数:

geoQuery.on('key_entered', (key, doc, distance) => {
    this.onCollectionUpdate(doc) // correct "this"
})

嗨,Lazar,谢谢你在做了你推荐的改变后的快速回答。现在它说doc.forEach不是一个函数。@AndrewIrwin如果表示doc不是一个数组,请记录该值以确保正确地传递了该参数,并且它是您指定的形状expect@RobbieMilejczak好的,非常感谢!谢谢你!
geoQuery.on('key_entered', (key, doc, distance) => {
    this.onCollectionUpdate(doc) // correct "this"
})