javascript - 传递 React 道具并作为 ObjectName.ObjectName 访问
问题描述
我正在导入一个像这样的对象数组import productData from './productData.js'
。
哪里productData.js
看起来像:
var productData = [{}, {}, ...]
module.exports = {productData}
TableComponent
但是,现在在要映射到数组的组件表达式中,我必须将其作为productData.productData
. 为什么是这样?
const MainBody = () => {
return (
<TableComponent productData={productData.values}> </TableComponent>
);
}
const TableComponent = props => {
const {productData} = props
const rows = productData.productData && productData.productData.map((row, index) => {
return (
<tr>
<row>hello</row>
</tr>
);
});
return <tbody>{rows}</tbody>
}
解决方案
如果你
import productData from './productData.js'
然后productData
是 的默认导出,productData.js
它是一个对象,这个:
{ productData }
并且该对象有一个productData
包含您想要的数据的键。现在只导出productData
你有两个选择:
1)导出productData
为默认导出而不将其包装到对象中:
export default productData;
// or
module.exports = productData;
// import as:
import productData from "./productData";
// or
const productData = require("./productData");
2)导出productData
为命名导出,然后导入命名导出:
export { productData };
// or
module.exports = { productData };
// import as
import { productData } from "./productData";
// or
const { productData } = require("/.productData");
由于该文件仅包含一件事,因此 1) 在这里更有意义。
推荐阅读
- html - TAILWIND CSS [Unknown at rule @tailwindcss(unknownAtRules)] 解决此错误
- django - 您好想将其他类的名称显示到 Basic 类
- python - 另一个帮助,现在我想知道如何删除任何其他矩形的碰撞矩形?
- vue.js - Nuxt SSR 应用程序在 Herokun 上崩溃,没有任何有意义的错误
- javascript - 如何允许“混合活动内容”,以便部署在 Firebase 托管上的网站可以向我的本地服务器发出 HTTP 请求?
- python - AirFlow:在 AirFlow 任务中设置环境变量和环境
- rust - Solr中的序列化/反序列化不一致
- vba - 你如何在指定的行中使用 ErrorHandler
- ios - Apple Pay 按钮设计不正确,因为添加了“Apple Pay”
- python - 流光画布图像尺寸转换