개발 하다보면 데이터를 실시간으로 수정해야 하는 코드를 꼭 짜야할 일이 있다.
뭐...기본기 이기도 하고..(맨날 햇갈려서 찾아봄)
이번 기회에 정리해보자.
일단 그냥 오브젝트인 경우:
const [오브젝트,오브젝트수정]=useState({
'이름':'개똥이',
'나이':5,
'직업':'개발자'
});
오브젝트수정({...오브젝트,직업:'백수'});
다른 방법도 있겠지만 난 주로 이렇게 사용 함.
그리고 배열인 경우:
const [배열,배열수정]=useState([
{ '이름':'개똥이',
'나이':5,
'직업':'개발자' },
{ '이름':'소똥이',
'나이':6,
'직업':'디자이너' },
{ '이름':'말똥이',
'나이':7,
'직업':'지구방위대' },
]);
배열수정(배열.map(아이템=>
아이템===조건?
({...아이템,바꿀내용})
:
({...아이템})
이렇게 setState내부에서 맵으로 돌려 조건에 맞는 오브젝트만 수정하자