Как решить UIManager ['AIRMapLite'] больше не поддерживается. (Белый экран с белым логотипом) - PullRequest
1 голос
/ 12 марта 2019

Я не могу решить эту проблему за последние 2 дня.Я выполнил поиск и прочитал документы MapView, но все еще не могу его решить.

Error

Я покажу вам свои коды и сценарий, который яdo.

Мой импорт

import MapView from 'react-native-maps';

Моя функция

    export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
        <MapView
          zoomEnabled = {true}
          style={ styles.map }
          initialRegion={{
            latitude: 37.78825,
            longitude: -122.4324,
            latitudeDelta: 0.0922,
            longitudeDelta: 0.0421,
          }}
        />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  map: {
    position: 'absolute',
    top: 0,
    left: 0,
    right: 0,
    bottom: 0,
    ...StyleSheet.absoluteFillObject,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});

И, наконец, ключ активации Google

<meta-data 
        android:name="com.google.android.geo.API_KEY"
        android:value="i make it secret first"
      />

Activate

это ошибка в моей консоли, я не знаю, возникла ли проблема

    if (__DEV__) {
  Object.keys(UIManager).forEach(viewManagerName => {
    if (!UIManagerProperties.includes(viewManagerName)) {
      if (!viewManagerConfigs[viewManagerName]) {
        viewManagerConfigs[viewManagerName] = UIManager[viewManagerName];
      }
      defineLazyObjectProperty(UIManager, viewManagerName, {
        get: () => {
          console.warn(
            `Accessing view manager configs directly off UIManager via UIManager['${viewManagerName}'] ` +
              `is no longer supported. Use UIManager.getViewManagerConfig('${viewManagerName}') instead.`,
          );
          return UIManager.getViewManagerConfig(viewManagerName);
        },
      });
    }
  });
}

1 Ответ

0 голосов
/ 12 марта 2019

В настоящее время это известная проблема в react-native-maps. выпуск был изначально создан в декабре 2018 года.

На самом деле проблема заключается в том, как была реализована зависимость.Таким образом, на самом деле вы ничего не можете с этим поделать, кроме разветвления репо и самостоятельного исправления основной проблемы.

По состоянию на 11 марта 2019 года, оно теперь исправлено и больше не должно бытьвопрос.Исправление было включено в следующий выпуск.Поэтому, как только выйдет следующая версия react-native-maps, вы больше не должны получать предупреждение.

https://github.com/react-native-community/react-native-maps/issues/2620#issuecomment-471650689

исправлено на мастере, должно быть включено в следующую версию

Если вы не можете ждать, пока проблема будет решена, и выЕсли вы хотите скрыть предупреждение YellowBox , вы можете сделать это, используя следующее

import {YellowBox} from 'react-native';

Затем внутри вашего метода рендеринга я обычно делаю это в App.js, так что его легко сохранить.отслеживать, какие из них я скрыл.

render() {
  YellowBox.ignoreWarnings(['Warning: ...']);  // <- insert the warning text here you wish to hide. 
  return (
    //cool ui stuff
  );
}

Он не удалит предупреждение с вашей консоли, но удалит все предупреждения YellowBox, связанные с ошибкой.

...