Массив состояний React Native Android не работает

Массив состояния Android Set не работает. React-native MapView componentWillMount обновляет позицию набора состояния на карте, которая не работает. Помоги мне, пожалуйста.

Состояния :

constructor(props) {
    super(props);
    this.state = {
        loading: '',
        mapRegion: {
          latitude: 37.78825,
          longitude: -122.4324,
          latitudeDelta: 0.0922,
          longitudeDelta: 0.0421,
        },
        location: {
          coords: {
            latitude: 37.78825,
            longitude: -122.4324,
            latitudeDelta: 0.0922,
            longitudeDelta: 0.0421,
          }
        }
    };
  }

компонент будет монтироваться

async componentWillMount() {
this.setState({
          mapRegion: {
            latitude: responseJson.latitude,
            longitude: responseJson.longitude,
            latitudeDelta: 0.0922,
            longitudeDelta: 0.0421,
          },
          location: {
            coords: {
              latitude: responseJson.latitude,
              longitude: responseJson.longitude,
              latitudeDelta: 0.0922,
              longitudeDelta: 0.0421,
            }
          },
 });
}

Возвратный вид не меняет положение

<MapView style = {{ width: '100%', height: '100%' }}
region = {{
     latitude: this.state.location.coords.latitude,
     longitude: this.state.location.coords.longitude,
     latitudeDelta: 3,
      longitudeDelta: 3
 }}
zoomEnabled = {true}>
<MapView.Marker coordinate = {this.state.location.coords} title = {strings('Location.Buradasiniz')} />
<MapView.Circle center = {this.state.location.coords} radius = {this.state.radius} strokeColor='red' fillColor = "rgba(255, 0, 0, 0.20)"/></MapView>
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
1
0
110
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуй это:

async componentWillMount() {
await this.setState({
          mapRegion: {
            latitude: responseJson.latitude,
            longitude: responseJson.longitude,
            latitudeDelta: 0.0922,
            longitudeDelta: 0.0421,
          },
          location: {
            coords: {
              latitude: responseJson.latitude,
              longitude: responseJson.longitude,
              latitudeDelta: 0.0922,
              longitudeDelta: 0.0421,
            }
          },
 });
}

Когда вы используете async после этого, вы должны где-то написать await, вот документы: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

Или попробуйте без async await вот так:

componentWillMount() {
 this.setState({
          mapRegion: {
            latitude: responseJson.latitude,
            longitude: responseJson.longitude,
            latitudeDelta: 0.0922,
            longitudeDelta: 0.0421,
          },
          location: {
            coords: {
              latitude: responseJson.latitude,
              longitude: responseJson.longitude,
              latitudeDelta: 0.0922,
              longitudeDelta: 0.0421,
            }
          },
 });
}

Удачи))

Другие вопросы по теме

React Native Component не определен
Исправлено: «Приложение устанавливается только один раз, если я удаляю и устанавливаю снова, выдает ошибку»
Как передать пользовательский атрибут стилизованному компоненту в функциональном компоненте?
Не удалось обновить метку времени. Ошибка при запуске «реагировать на запуск Android» в gc.properties (реакция-нативный)
React Native получает TypeError: undefined не является объектом (оценка '_this.state.apiData.items.map')
Как использовать SVG-Uri в React-native или Expo?
Не удалось получить имя массива JSON, включающее дефис ( '-' (пример: item.media-metadata[0].url )
Как я могу рассчитать фоновое время appState и время состояния переднего плана (активного) appState в react-native?
Реагировать на родные редукционные реквизиты, которые не обновляются при рендеринге экрана
React-Native: сбои на Android при использовании openCamera с использованием средства выбора кадрирования и камеры в целом