React에서 CRUD 앱에서 배열의 객체 업데이트 방법
Array Method를 사용한 객체 업데이트 방법
React에서 CRUD(Create, Read, Update, Delete) 앱을 개발하다 보면, 배열 안에 있는 객체를 업데이트해야 할 상황이 자주 발생합니다. 이러한 작업을 어떻게 효율적으로 할 수 있는지에 대한 여러 가지 방법이 있습니다. 배열 메소드를 사용하는 것은 그 중 하나입니다. 배열 메소드란 배열을 다루는데 도움을 주는 함수들을 말합니다.
map
함수를 이용한 업데이트
map
함수는 배열의 모든 요소에 함수를 적용한 후 새로운 배열을 반환합니다. 예를 들어, 특정 조건에 맞는 객체만 업데이트하고 싶을 때 map
함수를 사용할 수 있습니다.
1
2
3
4
5
6
7
8
const updateObjectInArray = (array, targetId, newValues) => {
return array.map(obj => {
if (obj.id === targetId) {
return { ...obj, ...newValues };
}
return obj;
});
}
위 코드에서 targetId
는 업데이트할 객체의 ID입니다. newValues
는 업데이트할 새로운 값들을 포함한 객체입니다.
splice
메소드를 이용한 업데이트
splice
메소드는 배열의 특정 부분을 제거하거나 새로운 요소를 추가하는 메소드입니다. 이 메소드를 사용하면 원본 배열을 변경할 수 있습니다.
1
2
3
4
5
6
const updateObjectInArray = (array, targetId, newValues) => {
const index = array.findIndex(obj => obj.id === targetId);
if (index > -1) {
array.splice(index, 1, { ...array[index], ...newValues });
}
}
이 방법은 원본 배열을 변경하므로 React의 불변성 원칙에 위배될 수 있습니다. 따라서 새로운 배열을 만들어서 사용하는 것이 좋습니다.
주의할 점: Error Name
코드 작성 시 주의해야 할 것 중 하나는 에러 이름입니다. 예를 들어, 배열의 인덱스를 찾지 못했을 경우 자주 발생하는 에러는 TypeError
입니다.
결론
배열 안의 객체를 업데이트하는 방법은 여러 가지가 있습니다. 여기서 소개한 map
과 splice
는 그 중 두 가지 방법입니다. 상황에 따라 적절한 메소드를 선택하여 사용하면 됩니다. 이렇게 하면 React에서 CRUD 앱을 효율적으로 개발할 수 있습니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.