【问题标题】:react native arrow functions and geoQueries反应原生箭头函数和地理查询
【发布时间】:2018-05-07 16:02:59
【问题描述】:

我还在为箭头函数苦苦挣扎。我以前发过这些帖子:

但现在我遇到了一个新问题,即如何将这些与 geoQuery 一起使用。我已经尝试了如下所示的代码:

    myFunction = () => {

    var onKeyMovedRegistration = () => geoQuery.on("key_moved", function(key, location, distance) {
        console.log('Test log');
        if (key != this.props.userID) {
            arraySearchResult = findKeyInArray(key, this.props.arrayOfKeys);
            if (arraySearchResult != "keyNotFound") {    
                console.log(key + " moved within query to " + location + " (" + distance + " km from center)");
            }
        }    
    })
    }

所以 myFunction 已绑定,我也在尝试绑定 geoQuery,否则如果我使用原始行,则无法访问 this.props.userID 和 this.props.arrayOfKeys:

var onKeyMovedRegistration = geoQuery.on("key_moved", function(key, location, distance) {

通过上述尝试,没有任何反应。我没有将“测试日志”发送到控制台。没有崩溃或错误,只是显然不应该这样做。

有谁知道我怎么能通过这个?

【问题讨论】:

  • 首先尝试用geoQuery.on("key_moved", (key, location, distance) =>替换并检查结果。
  • 你真是太好了。请将此作为答案提交,以便我接受。非常感谢。

标签: react-native arrow-functions geofire


【解决方案1】:

由于您的 geoFire listener 函数是未绑定,因此您无法访问它的类级别道具。

因此最简单的方法是在这里使用箭头函数

geoQuery.on("key_moved", (key, location, distance) => 

在此之后,this 将绑定到班级,您将能够访问班级级别的道具。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 2021-05-05
    • 2018-08-04
    相关资源
    最近更新 更多