在 React 中遍历数组(正确方式)

发布: (2026年4月3日 GMT+8 08:59)
2 分钟阅读
原文: Dev.to

Source: Dev.to

🧠 在 React 中的正确方式:map()

为什么?

因为 React 是声明式的——你描述 UI 应该如何根据数据呈现。

示例

const users = ["Adam", "Sophia", "Lucas"];

👉 这会遍历数组的每个元素并将其转换为 UI。

⚠️ key 的问题(很多人忽视)

❌ 错误写法

{users.map((user, index) => (
  {user}
))}

✅ 正确写法

const users = [
  { id: 1, name: "Adam" },
  { id: 2, name: "Sophia" },
  { id: 3, name: "Lucas" }
];

{users.map(user => (
  {user.name}
))}

👉 始终使用唯一且稳定的值作为 key

🚫 为什么不要使用 forforEach

“为什么不按以前的方式遍历?”

  • forEach() 不返回任何值 → React 无法渲染。
  • 传统循环也不太适合 React 的声明式模型。
const [users, setUsers] = useState([]);

渲染

return (
  {users.map(user => (
    - {user.name}
  ))}
);

💥 常见错误

function UserCard({ user }) {
  return {user.name};
}

👉 使用干净、可复用且可扩展的组件。

🚀 结论

React 并不是“遍历”——它把数据转换为 UI。掌握 .map() 是成为 React 开发者的第一步。

0 浏览
Back to Blog

相关文章

阅读更多 »

ECMA2025-最新演进

ECMAScript 2025 最新语言特性:迭代器助手 新增的 .map、.filter、.take、.drop 等方法现在可以直接在迭代器上使用,采用惰性求值,……

JavaScript 中的 Map 和 Set

什么是 Map?Map 是键‑值对的集合,类似于对象,但有几项改进:- 键可以是任何类型的对象、函数、原始值……

JavaScript 中的解构赋值

你有没有写过这样的代码?js // 重复提取 const numbers = 10, 20, 30; const first = numbers0; const second = numbers1; 它能工作——但它是……