React Native项目报错:无法从App.js解析"srcscreensComponentsScreenListScreen" 如何修复?
搞定React Native路径解析错误的方法
嘿,我来帮你解决这个路径解析的问题!你遇到的Unable to resolve "srcscreensComponentsScreenListScreen"错误,主要是路径拼写错误加一个小语法疏漏导致的,咱们一步步修复:
1. 修正ListScreen的路径单数/复数问题
你导入ListScreen时写的是./src/screen/ComponentsScreen/ListScreen,但看HomeScreen的导入路径是./src/screens/HomeScreen(复数screens),明显这里的screen少了个s,改成复数就对了:
import ListScreen from './src/screens/ComponentsScreen/ListScreen';
2. 统一ComponentsScreen的导入文件名大小写
你现在导入ComponentsScreen的路径是./src/screens/ComponentsScreen/componentsscreen,这里要注意React Native在Android系统下文件名是严格区分大小写的,如果你的实际文件名是ComponentsScreen.js,得改成一致的大小写,避免跨平台问题:
// 如果文件是ComponentsScreen.js,改成这个 import ComponentsScreen from './src/screens/ComponentsScreen/ComponentsScreen'; // 要是ComponentsScreen文件夹里有index.js,还能简化成这样 import ComponentsScreen from './src/screens/ComponentsScreen';
3. 修复navigator的闭合语法错误
你代码最后一行写的是};,但createStackNavigator是函数调用,应该用);来闭合括号,不然会触发语法错误,影响路径解析:
const navigator = createStackNavigator( { Home: HomeScreen, Components: ComponentsScreen, List: ListScreen }, { initialRouteName: 'List', defaultNavigationOptions: { title: 'App', }, } ); // 把};改成);
最后别忘了做这些验证
改完之后,建议:
- 重启一下React Metro Bundler(缓存有时候会搞鬼,导致路径解析异常)
- 对照实际目录结构再检查一遍,确保每个导入的路径和文件名完全匹配(包括大小写哦)
内容的提问来源于stack exchange,提问作者Piturca Stefan
相关产品推荐
相关产品推荐

