Возможное отклонение необработанного обещания (id: 1) Mapbox реагирует родным - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь получить текущую позицию в Mapbox, но получаю необработанное обещание (TypeError: null не является объектом) при возврате метода. Я считаю, что это вызвано попыткой получить информацию до того, как пользователь iOS разрешит разрешение, но не уверен, как заставить функцию ждать разрешений пользователя. Его ошибка const currentCoords = [location.coords.longitude, location.coords.latitude]

return (
      <View style={styles.page}>
        <View style={styles.container}>
          <mapbox.MapView style={styles.map} />
          <mapbox.UserLocation
            onUpdate={(location) => {
              const currentCoords = [
                location.coords.longitude,
                location.coords.latitude,
              ];
            }}
          />
        </View>
      </View>
    );

1 Ответ

0 голосов
/ 05 мая 2020

Вероятно, вы получаете null is not an object из-за того, что location или location.coords имеют значение null.

Вместо ожидания разрешений вы можете просто добавить проверку на null, чтобы гарантировать, что возвращаемые значения не ноль.

  <mapbox.UserLocation
    onUpdate={(location) => {
      if(!location || !location.coords) return;

      const currentCoords = [
        location.coords.longitude,
        location.coords.latitude,
      ];
    }}
  />
...