You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Expo开发的React Native Navigation打包后白屏问题求助

问题排查与解决方案

1. 修复NavigationContainer缺失导入的问题

你的代码中使用了<NavigationContainer>组件,但未从@react-navigation/native导入它——这是导致打包后白屏的核心原因。模拟器环境可能存在一定容错性,但生产打包后的运行时会严格校验依赖,缺失导入会直接引发致命错误,导致组件无法渲染。

修改导入代码,添加缺失的NavigationContainer:

import React, {useEffect} from "react";
import {Text, View} from "react-native";
import Test from "./Test.js";
import { createNativeStackNavigator } from '@react-navigation/native-stack';
// 新增这行导入
import { NavigationContainer } from '@react-navigation/native';

2. 检查Test组件的合法性

你的初始路由是Test组件,如果该组件存在错误(比如未正确导出、有语法错误或运行时异常),会导致应用启动失败,直接白屏且无法触发后续组件的alert。

  • 确认Test.js使用export default正确导出组件
  • 检查Test组件内是否有未处理的异步错误、无效DOM操作或依赖缺失

3. 清理缓存后重新打包

打包缓存可能残留旧的错误代码,执行以下命令清理缓存并重新打包:

expo r -c
expo build:android # 对应iOS则使用 expo build:ios

4. 查看生产环境错误日志

通过日志定位具体崩溃点:

  • Android:使用adb logcat *:E查看设备错误日志
  • iOS:通过Xcode的Organizer查看应用运行日志

5. 校验依赖版本兼容性

确认react-navigation相关依赖版本与当前使用的Expo SDK版本兼容,版本不匹配可能导致打包后出现隐性运行错误。


内容的提问来源于stack exchange,提问作者Paweł

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 19:18:13