React는 기존 state와 새로운 state를 비교하여 렌더링하기 때문에 참조형인 array
,object
같은 경우에는 주의해야한다.
불변성을 지켜주어야하기 때문에 push
,splice
,sort
등의 함수를 사용하면 안된다.
사용할경우, 기존의배열을 복사해 사용해야한다.
concat
은 새로운 배열을 리턴해 기존의 배열은 바뀌지 않는다.
const [list,setList]= useState([]);
setList(list.concat(item));
const [list,setList]= useState([]);
setList([...list,item]);