Expo+React Native中Amplify.configure触发TypeError报错求助
解决方案:修复AWS Amplify v5的导入方式
你的报错根源是AWS Amplify v5彻底移除了默认导出,改用命名导出,而你仍在使用v4的默认导入写法,导致Amplify变量为undefined,调用configure时触发错误。无需降级依赖,只需修改导入方式即可解决问题。
步骤1:修正App.js的导入代码
将原来的默认导入:
import Amplify from "aws-amplify";
替换为命名导入:
import { Amplify } from "aws-amplify";
修改后的完整App.js代码:
import { View, Text } from "react-native"; import { Amplify } from "aws-amplify"; import config from "./src/aws-exports"; Amplify.configure(config); const App = () => { return ( <View> <Text>Hello World</Text> </View> ); }; export default App;
步骤2:(可选)清理缓存确保生效
如果修改后仍存在异常,执行以下操作清除缓存:
- 重启Expo开发服务器并清除缓存:
expo r -c - 移除依赖文件并重新安装:
(使用yarn的话替换为rm -rf node_modules package-lock.json npm installrm -rf node_modules yarn.lock && yarn install)
补充说明
- Amplify v5所有核心模块(如Auth、Storage、API)均采用命名导出,后续使用时需统一写法,例如:
import { Auth, Storage } from "aws-amplify"; - 旧项目无报错是因为使用的Amplify v4支持默认导出,v5为适配ES模块规范做了此变更。
内容的提问来源于stack exchange,提问作者LaszloVarga
相关产品推荐
相关产品推荐

