반응형
Immer 사용법
- Immer 설치
$ yarn add immer
- immer import
import produce from 'immer';
- 사용법
const state = {
a: 1,
b: 2
};
const nextState = produce(state, draft => {
draft.a += 1;
});
console.log(nextState);
// { a: 2, b: 2 }
리듀서에서 Immer 사용하기
function reducer(state, action) {
switch (action.type) {
case 'CREATE_USER':
return produce(state, draft => {
draft.users.push(action.user);
});
case 'TOGGLE_USER':
return produce(state, draft => {
const user = draft.users.find(user => user.id === action.id);
user.active = !user.active;
});
case 'REMOVE_USER':
return produce(state, draft => {
const index = draft.users.findIndex(user => user.id === action.id);
draft.users.splice(index, 1);
});
default:
return state;
}
}
- 참고 사이트 : 23. Immer 를 사용한 더 쉬운 불변성 관리
#Immer #react #react 객체 변경
반응형
'자기개발 > 검색한 자료 정리' 카테고리의 다른 글
SASS '&' 기호 의미 (4) | 2022.03.25 |
---|---|
css 다중 선택자, css 클래스명 띄어쓰기 의미 (2) | 2022.03.25 |
Javascript 배열 값 순서 바꾸기, 변경하기 (2) | 2022.03.25 |
Java8 Function Interface 표 하나로 정리 (1) | 2022.01.16 |
소스트리 gitflow 사용법 (0) | 2022.01.16 |