javascript - 为什么我的 ReactJS 导出语句不起作用?
问题描述
我最终试图动态地创建一个导入组件的对象以一次全部导出。但在我下面的简单示例中,我什至无法导出具有 1 个组件的对象。这是为什么?
// index.js
// Card is a standard ReactJS component, exported with export default Card
import Card from './Card';
let Components = {};
Components['Card'] = Card;
// this also doesn't work
// Components['Card'] = require('./Card').default
export default Components;
// Error message: "Attempted import error: 'Card' is not exported from './index.js'"
解决方案
正如错误所说,您没有命名的export Cards
。您有一个默认导出,Components
它是一个具有属性的对象Cards
。
如果你想命名导出Cards
然后做
export {Cards};
或者,如果您甚至不需要该Components
对象,则可以直接使用重新导出组件
export {default as Card} from './Card';
但是,如果您确实想要导出包含一个或多个组件作为属性的默认对象,请相应地导入它:
import Components from './index.js';
// use Components.Cards were necessary
有关更多信息,请参阅export
MDN 上的文档。
推荐阅读
- mysql - 是否有一个很好的命令来替换 mysql 中的引用列?
- recursion - 使用序言的递归求和
- powerapps - 在不同用户之间使用 Microsoft Business One Drive Connector 许可证
- javascript - 无法使用繁琐的 Node.js 连接到 SQL Server
- angular - 如何在 *ngFor 中为特定项目设置参考变量?
- python - 如何选择特定行并将其重新写入单个文件?
- python - 可以在 jupyter notebook 中调用使用 concurrent.futures 的 python 类吗?
- hadoop - 从带有子目录的 HDFS 目录创建 Impala 表
- game-engine - Java游戏数据传输
- r - ggplot2 - 对一些变量进行刻面,同时将其他变量保持在同一个图上