react state에 push 인식 안됨(...스프레드 연산자)

김민우·2023년 2월 14일
0

스파르타 내배캠4기

목록 보기
65/73

react로 개발하던 중 firebase에서 데이터를 받아오고 그 데이터를 useState의 배열로 저장하는 일이 종종 있다.

⭐ const [ info, setInfo ] = useState( [ ] );

SetInfo로 값을 받아오게 된다면 info를 console.log를 찍으면 배열 안에 값이 담겨져 있을 것이다.

그렇다면, info에 새로운 값을 push 하게 되면 어떻게 될까?

setInfo.push( ), console에는 값이 들어오지만 화면에는 반영이 안되는 것을 확인할 수 있다. 그 이유는 react에서 state 값이 바뀐 것을 인식하지 못하기 때문이다.

그래서 내가 해결한 방벙은 하나의 변수를 줘서 info의 값을 스프레드 연산자로 처리해주는 것이다.

⭐ const newInfo = [...info];

이렇게 되면 info의 값이 새로운 배열로 newInfo 안에 들어가게 된다.

profile
개발자로서 한걸음

0개의 댓글