// UserList.js
import React from 'react';
function UserList() {
  const users = [
    {
      id: 1,
      username: 'velopert',
      email: 'public.velopert@gmail.com'
    },
    {
      id: 2,
      username: 'tester',
      email: 'tester@example.com'
    },
    {
      id: 3,
      username: 'liz',
      email: 'liz@example.com'
    }
  ];
  return (
    <div>
      <div>
        <b>{users[0].username}</b> <span>({users[0].email})</span>
      </div>
      <div>
        <b>{users[1].username}</b> <span>({users[1].email})</span>
      </div>
      <div>
        <b>{users[2].username}</b> <span>({users[1].email})</span>
      </div>
    </div>
  );
}
export default UserList;
// UserList.js
function User({ user }) {
  return (
    <div>
      <b>{user.username}</b> <span>({user.email})</span>
    </div>
  );
}
function UserList() {
  const users = [
    {
      id: 1,
      username: 'velopert',
      email: 'public.velopert@gmail.com'
    },
    {
      id: 2,
      username: 'tester',
      email: 'tester@example.com'
    },
    {
      id: 3,
      username: 'liz',
      email: 'liz@example.com'
    }
  ];
  return (
    <div>
      <User user={users[0]} />
      <User user={users[1]} />
      <User user={users[2]} />
    </div>
  );
}
// UserList.js
  ...
  
   return (
    <div>
      {users.map(user => (
        <User user={user} />  // error 
        <User user={user} key={user.id} />  // 고유 값 id를 key로 설정      
      ))}
    </div>
  );
}
  
...
  <div>
    {users.map((user, index) => (
      <User user={user} key={index} />
    ))}
  </div>
  
...
const array = ['a', 'b', 'c', 'd'];
array.map(item => <div>{item}</div>);  // 렌더링 
위 배열의 b 와 c 사이에 z 삽입 시, 리렌더링을 하게 될 때 b와 c사이에 새 div 태그를 삽입을 하게 되는 것이 아니라, 기존의 c가 z로, d는 c로 바뀌고, 마지막에 d가 새로 삽입되는 방식
a 제거 시에는 기존의 a가 b로, b 는 z로, z는 c로, c는 d로 바뀌고, 맨 마지막에 있는 d가 제거되게 된다.
[
  {
    id: 0,
    text: 'a'
  },
  {
    id: 1,
    text: 'b'
  },
  {
    id: 2,
    text: 'c'
  },
  {
    id: 3,
    text: 'd'
  }
];
array.map(item => <div key={item.id}>{item.text}</div>);
// id를 key 값으로 사용