Redux를 이용한 상태 관리 - boostcamp-2020/Project15-B-Client-Based-Formula-Editor GitHub Wiki
Redux라는 전역 상태관리 라이브러리를 통해 컴포넌트 간에 상태를 공유하거나 자유롭게 상태를 변경시킬 수 있었습니다.
예를 들어, LaTeX 명령어를 입력하는 두 영역이 같은 상태를 공유하고, 동시에 각자 그 상태를 변경할 필요가 있었는데 Redux를 사용해 간편하게 처리할 수 있었습니다. 또한, Undo/Redo 기능을 적용함에 있어 이전의 상태들을 관리하는 것이 필요했었는데 이 역시 Redux를 사용해서 쉽게 상태를 처리할 수 있었습니다.
저희는 Redux-toolkit을 사용하여 쉽게 Redux 환경을 설정하고 toolkit에 내장된 immer 라이브러리와 thunk 역시 활용하였습니다. immer 라이브러리를 사용하니 비대해진 actionCreator들을 간결하고 직관적으로 표현할 수 있었고, thunk를 사용하니 Debounce와 같은 복잡한 로직들을 간편하게 처리할 수 있었습니다.