javascript - 如何在获取请求中传递变量

标签 javascript reactjs native

我正在使用 React Native 并尝试理解一些示例。

我遇到一个问题

我试图在我的获取中传递纬度,但我遇到了一个问题,有人说我“纬度”不存在

class App extends React.Component {
constructor() {
super();
this.state = {
  region: {
    latitude: LATITUDE,
      longitude: LONGITUDE,
      latitudeDelta: LATITUDE_DELTA,
      longitudeDelta: LONGITUDE_DELTA,
  },
  markers: [],
  loaded: false
}

}

componentDidMount() {
navigator.geolocation.getCurrentPosition(
  (position) => {
    console.log(position);
    this.setState({
      region: {
        latitude: position.coords.latitude,
        longitude: position.coords.longitude,
        latitudeDelta: LATITUDE_DELTA,
        longitudeDelta: LONGITUDE_DELTA,
      }
    });
  },
  (error) => this.setState({ error: error.message }),
  { enableHighAccuracy: false, timeout: 200000, maximumAge: 1000 },
  );
  this.getLocations()
}


getLocations(){
  return fetch('https://***&geofilter.distance='+latitude+'%2C2.3883402698750875%2C2000') //here
  .then(response => response.json())
  .then(responseData =>{
    var markers = [];

你能帮我吗,谢谢:)

最佳答案

getLocations 中,您尝试使用 latitude 变量,但范围内没有变量。您可能想要this.state.region.latitude

如果您尝试使用 this.state.region.latitude,则需要将调用移至 componentDidMount 中的 getLocations > 因此它位于状态更改完成处理程序内:

componentDidMount() {
  navigator.geolocation.getCurrentPosition(
    (position) => {
      console.log(position);
      this.setState({
        region: {
          latitude: position.coords.latitude,
          longitude: position.coords.longitude,
          latitudeDelta: LATITUDE_DELTA,
          longitudeDelta: LONGITUDE_DELTA,
        }
      },
      () => {                   // ***
        this.getLocations();    // ***
      });                       // ***
    },
    (error) => this.setState({ error: error.message }),
    { enableHighAccuracy: false, timeout: 200000, maximumAge: 1000 },
  );
  // *** Not here
}

关于javascript - 如何在获取请求中传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59090440/

相关文章:

javascript - 导出函数中的全局变量不可访问

java - AspectJ - native 方法调用的切入点

reactjs - 如何在单击按钮后禁用 React Native 中的按钮

javascript - 如何防止剑道网格弹出编辑器窗口打开?

javascript - 是否可以使用 JQuery .attr() 标记向类添加属性?

javascript - 在 iframe 中禁用视频

javascript - 在鼠标 x 上移动多个 div 的 x 和 y,在 js 中移动 y

reactjs - 如何克隆 MobX observable? (编辑保存更改)

javascript - 未捕获的类型错误 : Providing your root Epic to createEpicMiddleware(rootEpic)

java - (Android Unity插件)我创建了一个简单的插件,预计123,得到0