리덕스툴킷(Redux Toolkit)
리덕스툴킷은 리덕스 사용 시에 아래와 같이 우려되는 것들을 해결하기 위해 만들어졌다.
- "저장소를 설정하는 것이 너무 복잡하다"
- "쓸만하게 되려면 너무 많은 패키지들을 더 설치해야 한다"
- "보일러플레이트 코드를 너무 많이 필요로 한다"
리덕스를 만든 Dan Abramov는 모든 리덕스 앱에 리덕스 툴킷을 사용하기를 강력히 권장하고 있다.
리덕스툴킷은 무슨 장점을 가지고 있기에 이렇게 강력추천 하는 걸까?
리덕스툴킷의 장점
- 초기 설정이 매우 간편하다.
- 더 이상 다양한 패키지들을 설치하지 않아도 된다.
- 기존에는 반복되는 코드가 많아 코드가 복잡해지고 실수를 많이 유발했지만, 이런 부분들이 많이 개선되었다.
- 리듀서, 액션타입, 액션 생성함수, 초기상태를 하나의 함수로 편하게 선언할 수 있다.(slice)
- 더 이상 불변성을 신경 쓰지 않아도 된다.
리덕스툴킷에 포함된 것들
- configureStore : 간단하게 Store를 만들 수 있게 해 준다.
- createReducer : switch문을 작성하는 것 대신, 간단하게 Reducer를 만들 수 있게 해 준다.
- createAction : Reducer에 작성한 것들을 기반으로 Action들을 만들어준다.
- createSlice : Reducer의 이름, 초기상태, reducers 등을 간편하게 만들 수 있도록 도와준다.
- createAsyncThunk : createAction을 비동기로 만들 수 있도록 도와준다.
- createSelector : Store에서 상태를 효율적으로 저장하도록 도와준다.
💬 오늘의 생각
사실 리덕스만 사용한 적은 없고, 항상 리덕스 툴킷을 세트메뉴처럼 써왔었다. 그래서 리덕스 툴킷의 소중함을 모르고 있었다. 리덕스 툴킷이 없으면 리덕스 사용에 큰 불편함들이 있다고 하니 항상 감사하게 생각하며 리덕스 툴킷을 써야겠다. 또한 다른 상태관리 도구들은 어떤 것들이 있고 그 상태관리 도구들은 어떠한 장단점을 가지고 있는지 궁금해졌다. 조만간 공부해서 포스팅하도록 해야겠다.
📖 레퍼런스
https://ko.redux.js.org/redux-toolkit/overview/
https://fomaios.tistory.com/entry/React-Native-Redux-Toolkit%EC%9D%B4%EB%9E%80
'Daily > Today I Learned' 카테고리의 다른 글
원시 타입(Primitive type)과 참조 타입(Reference Type) (0) | 2023.08.02 |
---|---|
단반향 바인딩과 양방향 바인딩 (0) | 2023.07.29 |
네트워크 기초 복습 (0) | 2023.05.03 |
fe-sprint-mini-node-server (0) | 2023.04.04 |
fe-sprint-statesairline-client (0) | 2023.04.03 |
댓글