갠플젝을 하면서 redux를 사용해서 작업을 하고 있는데
사용자 정보를 전역상태관리를 하려고 slice부분을 만지다보니 궁금한 점이 생겼다
1. reducer와 extrareducer의 차이가 뭘까?
reducers와 extraReducers는 Redux Toolkit에서 Redux 슬라이스를 정의할 때 사용되는 두 가지 다른 속성이다.
- reducers:
- reducers는 Redux 슬라이스에 대한 '기본적인 리듀서 함수들'을 정의하는 속성이다.
- reducers 객체는 각각의 리듀서 함수를 특정 액션 유형에 맵핑한다.
- Redux 슬라이스의 액션 생성자 함수들을 사용하여 생성된 액션 객체가 디스패치되면, reducers에 정의된 해당 액션 유형에 맞는 리듀서 함수가 호출된다.
- 각 리듀서 함수는 현재 상태(state)와 액션 객체(action)를 인자로 받아서 새로운 상태를 반환한다.
- createSlice 함수로 슬라이스를 생성할 때, reducers 속성에 리듀서 함수들을 정의한다.
- extraReducers:
- extraReducers는 Redux 슬라이스에 추가적인 리듀서 함수들을 정의하는 속성이다.
- extraReducers 객체는 각각의 리듀서 함수를 특정 액션 유형에 맵핑한다.
- extraReducers는 외부 모듈에서 생성된 액션 유형에 대한 리듀서 함수를 추가할 때 사용된다.
- Redux 슬라이스의 액션 생성자 함수들로 생성된 액션 객체뿐만 아니라 다른 슬라이스에서 생성된 액션 객체도 extraReducers에 정의된 해당 액션 유형에 맞는 리듀서 함수를 호출할 수 있다.
- 각 리듀서 함수는 현재 상태(state)와 액션 객체(action)를 인자로 받아서 새로운 상태를 반환한다.
- createSlice 함수로 슬라이스를 생성할 때, extraReducers 속성에 리듀서 함수들을 정의한다.
즉, reducers는 슬라이스에 대한 기본적인 리듀서 함수들을 정의하고,
extraReducers는 슬라이스에 추가적인 리듀서 함수들을 정의하는 데 사용되는 것
둘 다 액션 유형을 매핑하여 해당 액션에 대한 상태 업데이트 로직을 정의하는데 사용된다.
'✍ 따뜻한 개발 공부' 카테고리의 다른 글
dialogflow api의 key는 뭘 의미하는 걸까??? / 다사다난 dialogflow api 연결하기 (0) | 2023.05.17 |
---|---|
dialogflow로 챗봇 구현하기 (0) | 2023.05.16 |
객체지향 프로그래밍? (0) | 2023.05.09 |
CORS 에러! 복습하기 (0) | 2023.05.08 |
Node.js로 웹서버 간단 구축해보기 (코딩애플 영상보다 삘받아서 mysql, node.js, express 사용해보깅) (1) | 2023.05.06 |
댓글