React Native 不变违背:必需的本机组件:在UIManager中找不到"AIRMap",没有修复吗?

niwlg2el  于 2023-01-31  发布在  React
关注(0)|答案(8)|浏览(155)

我遵循了react-native-maps文档指南:我得到了错误。
我在StackOverflow和Google上到处找,都没能找到修复方法。
我尝试了所有的答案,我可以找到论坛上,我仍然得到错误。

    • 错误:**
  • 不变违反:必需的本机组件:在UIManager中未找到"AIRMap"。*
    • 我的密码:**
import React from 'react';
import MapView from 'react-native-maps';
import { StyleSheet } from 'react-native';

export default class App extends React.Component {
  constructor() {
    super();
    this.state = {};
  }

  render() {
    return (
      <MapView
         style = {styles.map}
         showsUserLocation = {false}
         followUserLocation = {false}
         zoomEnabled = {true}
      />
   )
  }
}

const styles = StyleSheet.create ({
  map: {
     height: 400,
     marginTop: 80
  }
})
hrysbysz

hrysbysz1#

请查看以下两个链接,其中提供了有关iOS和Android中react原生Map集成的详细信息
Map integration link 1 for Android & ios
Map integration link 2
有时iOS库无法正确链接,因此您需要手动将库添加到Xcode中。

hfyxw5xn

hfyxw5xn2#

试试这个:
打开xcode项目〉您的项目〉构建阶段〉链接二进制文件〉删除libAirMaps. a〉然后重新添加〉检查它是否工作... check image for detailed instruction
编辑:如果你已经安装了react-native-maps,请尝试手动添加AirMapsLib。按照此图片上的说明操作。之后,请重试上述说明。

n9vozmp4

n9vozmp43#

我在iOS中还没有遇到这个问题,但在Android上。Invariant Violation: requireNativeComponent:xxx not found in UIManager
问题似乎是依赖项未链接到您的项目,因此此问题有2个解决方案(取决于您的“依赖项”)
1.在项目路径的终端/cmd中运行react-native link
1.在www.example.com中手动附加依赖项MainApplication.java,如下所示:
在www.example.com中手动附加依赖项MainApplication.java,如下所示:

@Override
    protected List<ReactPackage> getPackages() {      

      @SuppressWarnings("UnnecessaryLocalVariable")
      List<ReactPackage> packages = new PackageList(this).getPackages();
      // Packages that cannot be autolinked yet can be added manually here, for 
      packages.add(new RNFirebaseAnalyticsPackage());
      packages.add(new xxxPackage());
    }

可能有

mfuanj7w

mfuanj7w4#

我已经通过只运行react-native run-android解决了这个问题。

**注意:**如果您已经运行react-native link,请先取消链接。

nnt7mjpx

nnt7mjpx5#

将以下行添加到MainApplication.java

import com.airbnb.android.react.maps.MapsPackage; 



        @Override
        protected List<ReactPackage> getPackages() {
          @SuppressWarnings("UnnecessaryLocalVariable")
          List<ReactPackage> packages = new PackageList(this).getPackages();
          packages.add(new MapsPackage());
          return packages;
dxxyhpgq

dxxyhpgq6#

利用yarn。因为npm会给予与解决问题无关的错误。

disbfnqx

disbfnqx7#

你需要到添加谷歌API关键在你的项目以及安装库正确.

1aaf6o9v

1aaf6o9v8#

对我来说,我在我的iosMap上,我必须关闭我的终端和我的刺激器,然后重新启动,一切都很好。

相关问题