React
[React] 객체 key에 접근
hid1
2022. 9. 21. 15:35
useState로 객체인 상태를 관리를 하던 중, 상태를 업데이트를 할 경우
key를 동적으로 받으려는 코드를 작성하려고 하다가 막혀 정리한다.
const [filters, setFilters] = useState({
brightness: 100,
contrast: 100,
saturate: 100,
grayscale: 0,
invert: 0,
huerotate: 0,
blur: 0,
sepia: 0,
});
위의 코드처럼 객체를 상태 관리 하려고 한다.
이때 하나의 속성 값이 바뀔경우 이 객체의 상태를 업데이트하는 하나의 함수를 작성하려고 한다.
그러면 이전 상태를 받아 그대로 전개하고 바뀐 속성을 찾아 업데이트를 해주면 된다.
이때 바뀐 속성의 key를 찾는 방법으로 대괄호([])을 이용하면 객체의 key에 접근을 할 수 있었다.
const UpdateFilter = () => {
setFilters((prev) => {
return { ...prev, [filter]: filterRef.current.value };
});
};
+
객체의 key의 이름과 개수에 따른 컴포넌트를 반복 출력해야 할 때 Object.keys()를 이용하면 된다.
Object.keys(filters).map()
반응형