【问题标题】:calling a stack function in a tab navigator causes app to crash在选项卡导航器中调用堆栈函数会导致应用程序崩溃
【发布时间】:2022-01-09 22:35:59
【问题描述】:

我注意到在我的 App.js 中,当我在选项卡导航器中调用我的函数 MyTabs(它包含一个堆栈导航器)时,它会导致应用在本地运行时在 IOS 上崩溃。

当应用程序崩溃时,我注意到记录了零错误。我的终端或屏幕上没有错误。我通过 npm start 以及我个人设备上的 expo 应用程序运行它。我也尝试过其他设备,但仍然是同样的崩溃。我也没有 mac,我敢打赌,使用 xCode 至少会给我一个错误。

我已经包含了一个小吃演示 here 以及一个 git 存储库,其中包含项目中的每个文件 here

任何见解都将不胜感激。

编辑:: 我假设因为它适用于零食,所以它一定是我的环境。我尝试了完全不同的计算机和设备,但我总是使用 npm start 和 expo 应用程序启动它。

编辑 2:: 我注意到我确实收到了这个警告。这样的事情会导致它崩溃吗?

这里是 app.js

const Tab = createBottomTabNavigator();

function MyTabs() {
  return (

    <Stack.Navigator
     initialRouteName="Home">        
        <Stack.Screen name="Home" component= {Home} options={{headerShown: false}}/>
    </Stack.Navigator>

);
}

export default function App() {

  return (
   <NavigationContainer>
    <Tab.Navigator
    initialRouteName="Home"
    screenOptions={{
      tabBarActiveTintColor: '#F60081',
      tabBarInactiveTintColor: '#4d4d4d',
      tabBarStyle: {
        backgroundColor: '#d1cfcf',
        borderTopColor: 'transparent',
        
      },
      
    }}
  >
    <Tab.Screen
      name="Home"
      component={MyTabs}
      options={{
        tabBarLabel: 'Home',
        headerShown: false,
        tabBarIcon: ({ color, size }) => (
          <MaterialCommunityIcons name="home" color={color} size={size} />
        ),
      }}
    />
  </Tab.Navigator>
</NavigationContainer>
);
}

const Stack = createStackNavigator();

【问题讨论】:

  • 如果将行 const Stack = createStackNavigator(); 移动到代码顶部会怎样。我的意思是在调用它之前。一些在const Tab = createBottomTabNavigator();行之前或之后的地方@
  • 很遗憾没有
  • 然后使用flipper查看崩溃日志
  • 另外,您不应该将./node_modules 推送到 GitHub 等远程存储库

标签: reactjs react-native


【解决方案1】:

根据您的编辑 2 试试这个

npm uninstall react-native-gesture-handler react-native-screens

然后作为the link says 再次使用expo install 命令安装软件包,以确保您的世博项目中有兼容的版本

【讨论】:

  • 谢谢。世博会安装将是我继续做的事情。
  • 不客气,伙计
【解决方案2】:

删除package-lock.jsonnode_modules 并再次运行npm install

我收到了这个错误:

找不到模块 '/stackoverflow/node_modules/vlq/dist/vlq.js'。 请验证 package.json 是否有有效的“main”条目

安装软件包后,我在不同的软件包中遇到相同的错误。看起来包无法相互通信

【讨论】:

  • 有趣,我试过这个,但没有运气。我刚刚获得了 iOS 捆绑完成,但没有在 iphone 上运行 iOs 应用程序。要求您将 node_modules 上传到某个地方会不会太过分了?我认为如果我能够拥有一个我知道有效的解决方案,它可以帮助解决问题。
  • @JustinPriede 我没有安装任何新东西。确保也删除您的 .expo 文件夹。所以,删除 .expo、node_modules、package-lock.json 并运行 npm install
  • 太奇怪了,仍然只是崩溃并记录了零错误。
  • @JustinPriede 试试这个`react-native start --reset-cache`
  • @JustinPriede expo --version 4.13.0 和 node --version v14.17.3
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-10
相关资源
最近更新 更多