React项目导入Review组件时报'Review'未从'./Review'导出的错误
报错原因
该报错本质是ES模块的导入、导出语法不匹配:
- 你的
Review.jsx文件末尾通过export default Review采用了默认导出的方式暴露组件 - 你在引入位置写的
import { Review } from './Review',是专门适配命名导出的导入语法,二者规则不兼容,就会触发控制台的导出报错。
解决方法
两种方案选其一即可:
方法1:修改导入语句,适配组件当前的默认导出逻辑
去掉导入语句中的大括号,修改为:
import Review from './Review';
语法注意:默认导出的成员导入时不需要用大括号包裹,只有文件内的命名导出成员,才需要通过大括号指定要引入的名称。
方法2:修改组件的导出方式,适配现有的导入写法
如果你希望保留带大括号的导入语句,只需要把组件的导出规则改成命名导出即可:
- 把组件定义行从
const Review = ({ checkoutToken }) => {调整为export const Review = ({ checkoutToken }) => { - 删除文件末尾单独的
export default Review;代码行
小提示:你用的rafce模板默认生成的就是「定义函数组件 + 末尾默认导出」的结构,不少刚用该模板的开发者会混淆两种导入导出的差异,触发这类报错。
内容的提问来源于stack exchange,提问作者Gmolashvili
相关产品推荐
相关产品推荐

