Front-end/React
React 배열
개발자 키우기
2023. 6. 13. 16:07
리엑트에서 부모가 변경이 되면 부모에 의존적인 자식 컴포턴트들은 연산을 통해 리렌더링을 수행한다.
이때 깊은복사를 이용해 변경하지 않아도 되는 자식들이 리렌더링하지 않게 하는 최적화 작업이 필요하고
배열을 사용한다.
1. spread 연산자 ( 복사 )
const a = [1, 2, 3];
const b = [...a]; // b = [1,2,3]
b.push(4); // b = [1,2,3,4]
const c = [0, ...b, 5, 6]; // c = [0,1,2,3,4,5,6]
2. concat ( 추가 )
const a = [1, 2, 3];
const b = a.concat(4); // b = [1,2,3,4]
3. filter ( 삭제 )
true 인 값만 반환하는걸 활용
const a = [1, 2, 3];
const b = a.filter((n) => { // b = [2,3]
return n != 1;
});
4. slice ( 끼워넣기 )
const a = [1, 2, 3];
const b = a.slice(0, 2); // b = 1,2
const c = [...a.slice(0, 2), 4, a.slice(2, 3)]; // c = 1,2,4,3
5. map ( 수정하여 복사 )
const a = [1, 2, 3];
const b = a.map((n) => n + 1); // b = [2,3,4]
응용
const users = [
{ id: 1, name: '침착맨', 나이: 39 },
{ id: 2, name: '주호민', 나이: 41 },
{ id: 3, name: '희민이', 나이: 38 },
];
const updateUserDto = {
id: 2,
name: '괘도',
나이: 39,
};
const newUsers = users.map((n) =>
n.id === updateUserDto.id ? { ...n, ...updateUserDto } : n,
);
- 출처 메타코딩 최주호