조회 51
익명
5월 25일
const [imageArray, setImageArray] = useState([]); 혹시 어떤 배열안에 있는 객체요소 state변경을 할때, setState 인자인 previous state를 받아서 수정하는게 나은가요? 예) setImageArray((prev)=> [ …prev, {something}]) 아니면 spread로 새로운 배열로 복사해서 이것을 수정하고 setState에 넣는게 나은가요? 예) const copiedArray = […imageArray]; copiedArray. something something 작업 setImageArray(copiedArray);
구체적이고 정성스러운 질문에 ↑Up 투표를 눌러주세요.
설명이 부족한 질문에 ↓Down 투표를 눌러주세요. 커리어리가 질문자에게 수정을 요청할게요.
답변 1
안녕하세요! 보통 전자를 많이 사용합니다. 이유는 stale closure 현상을 방지하기 위해서 써요! 후자는 setImageArray가 연속적으로 불리는 경우 의도치 않은 버그를 직면하게 될수도 있습니다. 참고해보세요 :) - https://dmitripavlutin.com/react-hooks-stale-closures/#4-state-closure-in-usestate - https://careerly.co.kr/qnas/2008 (유사한 질문)
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.