【发布时间】:2019-10-22 04:50:49
【问题描述】:
我正在开发一个 React 应用程序,它从 API 获取数据并将其呈现到表中。我有 3 个组件:Row、Body 和 Table。 Table 获取数据,将其传递给 Body,Body 将其传递给 Row,然后呈现单元格。
我面临的问题是Row 中的数据既是文本又是图像。这就是 myRow 组件的外观:
const Row = props => {
return(
props.data.map(row =>
<tr key={row.id}>
{props.cols.map(col =>
<td>{row[col.name]}</td>
)}
</tr>
)
);
}
从 API 获取的数据采用以下形式:
data = [
{
"firstName": "Jack",
"lastName": "Sparrow",
"id": "jckspr"
}
]
但是,我还需要通过<img src="images/logo.png"> 在第四列中渲染一个静态的小图像。但我无法使用我已实现的当前代码逻辑呈现此图像,即我无法在 Body:<Row data={data} cols={tableHeaders}> 中呈现此图像,tableHeaders 是
[
{ header: "First Name", name: "firstName" },
{ header: "Last Name", name: "lastName" },
{ header: "id", name: "id" },
{ header: "Image", name: "image" }
]
如何在保持可重用和可扩展的代码架构的同时实现我想要的功能?
【问题讨论】:
标签: html reactjs jsx code-reuse