首页 > 解决方案 > React JS:如何正确映射组件表行?

问题描述

所以我创建了这个 Table 组件,旨在可重用。

但是我有这个问题,数据没有正确填充所有行。它堆积在前两排。

到目前为止,这是我的代码:

菜单.js

export const AddMenu = () => {
  const theadData = ["No", "Name", "Category", "Price"];
  const tbodyData = [
    {
      id: 1,
      items: [1, "Hamburger", "Fast Food", 150],
    },
    {
      id: 2,
      items: [2, "Pizza", "Fast Food", 100],
    },
  ];

  return (
    <div className="container">
      <h1>Add Menu</h1>
      <Table theadData={theadData} tbodyData={tbodyData} />
    </div>
  );
};

表.js

export const Table = ({
  theadData,
  tbodyData,
}) => {
  return (
    <div className="table">
      <table>
        <thead>
          <tr>
            {theadData.map((item) => {
              return <th title={item}>{item}</th>;
            })}
          </tr>
        </thead>
          <tr>
            {tbodyData.map((item) => {
              return <td key={item}>{item.items}</td>;
            })}
          </tr>
        </tbody>
      </table>
    </div>
  );
};

谢谢顺便说一句,希望得到答案。

标签: javascripthtmlreactjs

解决方案


添加第二个映射以循环遍历行,然后遍历单元格,如下所示:

{
  tbodyData.map((row, index) => (
    <tr key={index}>
      {row.map((item) => {
        return <td key={item}>{item}</td>;
      })}
    </tr>
  ));
}

推荐阅读