【问题标题】:How can I render a component if a user moves out of a region?如果用户移出某个区域,我如何渲染组件?
【发布时间】:2022-06-10 22:47:38
【问题描述】:

我正在开发一个带有 react native 和 react-native-maps 的应用程序,我只想在用户离开美国地区时呈现一个组件。我不清楚我该怎么做,我怎么知道当前区域是否不再在特定的半径/范围内,即:

if (region !== USARegion) {
  return <MyComponent />
}

【问题讨论】:

标签: reactjs react-native react-native-maps


【解决方案1】:

只是简单地解释一下你将如何做到这一点:

您需要使用监听器来监控用户的坐标,我使用了 expo location

https://docs.expo.dev/versions/latest/sdk/location/

获取坐标使用:

import * as Location from 'expo-location';
let location = await Location.getCurrentPositionAsync({});

那么在你的 useEffect 中你需要监听这些位置的变化

  useEffect(() => {

//other functions here

  },[location])

注意:您可能需要将这些位置存储在某处以跟踪更改。我建议使用 firebase 实时数据库

然后根据您收集的坐标获取实际区域,我建议使用此 API:http://www.geonames.org/

它相当轻巧且易于使用。

获得新区域后,您可以运行上面的 if 语句来检查该区域是否不是美国

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多