[이슈] state 배열 수정하기

2021. 2. 3. 17:26프로그래밍-Web/React

kendo 컴포넌트 쓰다가 state의 배열을 수정할 일이 생겼다

역시나 마찬가지로 배열을 깊은 복사 처리한 후 조건에 따라 리턴하는 방식이었다.

 

zoneList라는 배열을 변경하고 싶었다

zoneList는 여러가지 key를 가진 객체들의 배열이다.

나는 이벤트로 넘어온 id와 같은 id를 가진 원소들만 골라서,

원소들의 selected라는 key를 기존 값과 반대로 만들어주고 싶었다.

 

삭제에 filter를, 추가에 concat이나 spread operator를 이용한것처럼, 

수정에도 map을 이용한다.

각 key에 대해 조건을 달아주고, 조건을 충족하면 기존 key는 spread operator형태로, 변경을 원하는 key의 key(원소의 key)는 수정 후 리턴해준다. 단 조건에 해당하지 않으면 key를 그대로 리턴한다.