인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

reppi07님의 프로필 이미지
reppi07

작성한 질문수

Slack 클론 코딩[실시간 채팅 with React]

워크스페이스 만들기 + 로그아웃하기

useState에 배열 넣기 질문

작성

·

435

0

 
const [getName, setName] = useState<string[]>([]);

for(let i = 0; i < res.data.length; i++) {
   landName[i] = res.data[i].landName;
   setName([...getName, landName[i]]);
}


위에처럼 코드를 작성하였습니다.

배열이 돌면서 landName에 인덱스별로 값이 들어간 후 그 배열로 된 값들을 getName에 집어넣고 싶은데 제가 알고 있는 방법을 다 써보았는데 값이 안들어가는데 팁좀 주실 수 있을까요?

답변 1

2

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

반복문 안에서 setName을 못 쓰는 것은 아니지만, 저렇게 하면 가장 마지막 것만 들어갈 겁니다. 왜나면 setName을 반복하면서 이전 것을 덮어씌워버리거든요.

결과를 별도의 배열에 모아둔 후 setName을 마지막에 한 번만 하세요.

reppi07님의 프로필 이미지
reppi07

작성한 질문수

질문하기