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

Javascript 如何在获取请求中传递变量,javascript,reactjs,native,Javascript,Reactjs,Native,我正在使用react native并尝试理解一些示例 我有个问题 我试图在回迁中传递纬度,但我遇到了一个问题,谁说我“纬度”不存在 class App extends React.Component { constructor() { super(); this.state = { region: { latitude: LATITUDE, longitude: LONGITUDE, latitudeDelta: LATITUDE_DELTA, l

我正在使用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
中,您试图使用
纬度
变量,但范围中没有变量。您可能想要
这个.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
}

您正在州中存储纬度,因此需要将其称为
this.state.region.latitude

return fetch('https://***&geofilter.distance='+this.state.region.latitude+'%2C2.3883402698750875%2C2000')

试着像这样使用您的fetch:

return fetch('https://***&geofilter.distance='+this.state.region.latitude+'%2C2.3883402698750875%2C2000')

“我有一个说我不存在的问题”请复制并粘贴实际错误消息到问题中,并告诉我们错误所指的行。警告:失败的道具类型:道具
区域。纬度
地图视图中标记为所需,但其值为
未定义的