본문 바로가기
Daily/Today I Learned

상태관리도구 Redux Toolkit

by hustle-ing 2023. 8. 1.

리덕스툴킷(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://velog.io/@whljm1003/redux-toolkit%EB%A6%AC%EB%8D%95%EC%8A%A4-%ED%88%B4%ED%82%B7-%EC%82%AC%EC%9A%A9%EB%B2%95

https://fomaios.tistory.com/entry/React-Native-Redux-Toolkit%EC%9D%B4%EB%9E%80

https://velog.io/@pest95/177%EC%9D%BC%EC%B0%A8-%EB%A6%AC%EB%8D%95%EC%8A%A4%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%96%88%EC%9D%84%EB%95%8C-%EC%9E%A5%EB%8B%A8%EC%A0%90-Redux-Toolkit

댓글