{ }
를 이용하여 코드를 짜줘야한다.이는 리액트가 새로운 아이템을 div 목록 마지막단에 렌더링하고 전체를 렌더링하며 컨텐츠를 다시 교체한다.
확실히 효과적인 방법은 아니다.
왜냐하면 추가하는 과정에서 state를 잘못 덮어씌워버리면 최신화도 안되는 버그가 발생할 수 있기때문이다.
그렇기때문에 아까 위와같은 error가 발생하는 것이다.
그래서 우리는 새로운 div가 어디에 추가되어야하는지 리액트에게 알려주어야한다.
그것이 바로 key
prop 이다.
얘는 어떠한 컴포넌트안(사용자정의 component, Html 요소)에 property로 들어갈 수 있으며 prop 처럼 보이지만 사실 해당 컴포넌트에서는 사용되진 않는다.
위와같이 key
property를 추가하고 나면 이제 아래와같이 react가 제일 밑에 추가하고 정렬하는 비효율적인 일을 하지 않고 밑에와 같이 요소에 맞는 위치에 추가되는것을 확이할 수 있다.
즉, 목록 아이템을 매핑할때는 항상 key를 추가해주어야한다.
{ }
에서는 사용할 수 없다.?
과같은 삼항연산자를 사용한다.{ }
을 자체로 조건문으로 사용할 수 있다. 이를 JS abuse "남용"이라 부른다.