【问题标题】:React Native Mapbox with Expo - App freezes after opening map a second timeReact Native Mapbox with Expo - 应用程序在第二次打开地图后冻结
【发布时间】:2022-10-05 02:38:01
【问题描述】:

目前,我正在使用 Expo 将我的 Web 应用程序重写为 React Native 应用程序。当我打开正确的屏幕(使用 rnmapbox/maps#main)时,我已经设法让地图正常工作和渲染。

但是,当我离开这个屏幕(使用标签导航)然后再次打开它时,应用程序只是冻结,后来 Android 告诉我应用程序没有响应。

我首先认为这是因为我的 Stack Navigator 上有 detachInactiveScreens={false},但禁用它并不会改变问题。

我正在使用地图的 MapBox 实现。如果这有什么不同的话。

这可能是由于仿真造成的吗?我现在没有要测试的物理 android 设备。我在这里发现了一个类似的问题,并发现了一些关于在我的地图中包含组件的信息,但是,即使我的地图中没有任何组件,它仍然会做同样的事情。

我当前的代码:

import React from 'react'
import { Text, View, StyleSheet } from 'react-native'
import { GlobalStyles } from '../../../Constants/theme';

import MapboxGL from '@rnmapbox/maps';

MapboxGL.setAccessToken('pk.TOKEN');
export const MapScreen = () => {
  return (
    <View style={ styles.container }>
      <MapboxGL.MapView styleURL='mapbox://styles/arilith/ckr9r509238t817mxz75lwbxt' style={ styles.map }>


      </MapboxGL.MapView>
    </View>
  )
}

const styles = StyleSheet.create({
  container: {
    ...GlobalStyles.pageContainer,
    padding: 0,
  },
  innerContainer: {
    flex: 1,
    justifyContent: 'center',
    padding: 40,
  },
  map: {
    flex: 1,
  }
});

编辑:或者有什么方法可以查看日志(在模拟器/博览会中)看看它为什么挂起?由于目前世博会挂起时不会记录任何内容。

EDIT2:经过进一步调查,当地图在堆栈视图中作为屏幕来回切换时,不会发生此问题。看起来它与使用 Tab Navigator 有关...

【问题讨论】:

    标签: android reactjs react-native mapbox


    【解决方案1】:

    能否请您一步一步地写下您是如何安装 mapbox + Expo 的,我已经为此苦苦挣扎了 3 天,但仍有一些问题......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多