React를 사용할 때 State로 Map을 사용하는 경우가 있다.
이때 어떤 방식으로 추가, 삭제, 등을 할 것인가?
const [state, setState] = React.useState(new Map());
// 추가
const add = (key, value) => {
setState((prev) => new Map([...prev, [key, value]]));
};
// 없는 경우에만 추가
const upsert = (key, value) => {
setState((prev) => new Map(prev).set(key, value));
}
// 삭제
const delete = (key) => {
setState((prev) => {
const newState = new Map(prev);
newState.delete(key);
return newState;
});
}
// 초기화
const clear = () => {
setState((prev) => new Map(prev.clear()));
}
출처
반응형
'React > 기능' 카테고리의 다른 글
[React] useCallback 그리고 React.memo (0) | 2022.10.27 |
---|---|
[React] useRef 그리고 useState (1) | 2022.10.26 |
[React] 컴포넌트 합성 (1) | 2022.10.21 |
[React] react-router-dom 사용하기 (1) | 2022.10.05 |
[React] useLayoutEffect (0) | 2022.02.08 |