使用 React 在单个卡片中呈现对象数据

Render Object Data in individual Cards with React

我正在尝试将对象数组中的数据呈现到多张卡片中,但 React 仅呈现页面上第一个对象的数据。有什么方法可以做到这一点?

const dogData = [
    {
        id: 1,
        name: "Hollie",
        breed: "Doberman",
        age: 3,
    },
    {
        id: 2,
        name: "Charles",
        breed: "Golden Retriever",
        age: 4,

    }
]

export default dogData

import React from "react";
import dogData from "./dogData";

function DogCardsDisplayed() {
  for (let i = 0; i < dogData.length; i++) {
    return (
      <>
        <div>{dogData[i].name}</div>
        <div>{dogData[i].breed}</div>
        <div>{dogData[i].age}</div>
      </>
    );
  }
}

function SearchPage() {
  return (
    <div>
      <DogCardsDisplayed />
    </div>
  );
}

export default SearchPage;

渲染数组的正确方法。

  1. 总是使用地图。
  2. 不要忘记为每个项目准备钥匙
function DogCardsDisplayed() {
    return dogData.map(item=> (
      <div key={item.id}>
        <div>{item.name}</div>
        <div>{item.breed}</div>
        <div>{item.age}</div>
      </div>
    ));
}

这应该是您的答案:

function DogCardsDisplayed(props) {
  return (
    <div>
      {Object.keys(props.dog).map((key) => (
        <div>{dog[key]}</div>
      ))}
    </div>
  );
}

function SearchPage() {
  return (
    <div>
      {dogData.map((dog) => (
        <DogCardsDisplayed content={dog} />
      ))}
    </div>
  );
}

export default SearchPage;