function SmartHome() {
const [rooms, setRooms] = useState([
{ id: 1, name: '客厅', temp: 28, hasAC: true },
{ id: 2, name: '卧室', temp: 25, hasAC: true },
{ id: 3, name: '厨房', temp: 32, hasAC: false },
]);
return (
<div>
{rooms.map(room => (
<div key={room.id}>
<h3>{room.name} - {room.temp}°C</h3>
{room.hasAC ? (
<AirConditioner initialTemp={room.temp} />
) : (
<p>该房间未安装空调</p>
)}
</div>
))}
</div>
);
}为什么需要 key?
没有 key,React 就像物业管理员不知道哪台空调是哪个房间的。你把客厅的空调拆了,它可能误把卧室的空调当成客厅的,导致状态错乱。key 就是每台空调的编号铭牌。