对本机箭头函数和 geoQueries 做出反应
react native arrow functions and geoQueries
我还在为箭头函数苦苦挣扎。我之前发过这些帖子:
但现在我遇到了一个新问题,即如何将它们与 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) {
通过上面的尝试,没有触发任何东西。我没有 "Test log" 到控制台。没有崩溃或错误,这显然不是应该如何完成的。
任何人都知道我怎样才能通过这个?
由于您的 geoFire
listener
函数 未绑定 因此您无法访问它的 class 级别道具。
因此,最简单的方法是在此处使用箭头函数
geoQuery.on("key_moved", (key, location, distance) =>
此后,this
将绑定到 class,您将可以访问 class 级别的道具。
我还在为箭头函数苦苦挣扎。我之前发过这些帖子:
但现在我遇到了一个新问题,即如何将它们与 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) {
通过上面的尝试,没有触发任何东西。我没有 "Test log" 到控制台。没有崩溃或错误,这显然不是应该如何完成的。
任何人都知道我怎样才能通过这个?
由于您的 geoFire
listener
函数 未绑定 因此您无法访问它的 class 级别道具。
因此,最简单的方法是在此处使用箭头函数
geoQuery.on("key_moved", (key, location, distance) =>
此后,this
将绑定到 class,您将可以访问 class 级别的道具。