Redux로 마이그레이션
Last updated
Last updated
Redux는 하나의 거대한 프레임워크가 아닌, 규약들과 로 이루어져 있습니다. 여러분의 "Redux 코드"의 주요 부분은 Redux API를 사용하지도 않으며, 여러분은 대부분의 시간을 함수를 작성하는데 보낼겁니다.
이는 Redux에서 옮기는 것과 Redux로 옮기는 것 양쪽 모두를 쉽게 만들어줍니다. 우리는 여러분이 묶여있는걸 원하지 않습니다!
는 Flux 스토어의 "핵심"을 지니고 있기 때문에, , , , 기타 Flux 라이브러리 중 무엇을 쓰고 있었다고 해도 기존의 Flux 프로젝트에서 Redux로 옮기는 것은 어렵지 않습니다.
Redux에서 저들 라이브러리로 옮기는 것도 아래의 순서를 반대로 행하면 가능합니다.
여러분이 해야 할 순서는 다음과 같습니다:
기존 앱이 리듀서와 호환되게 하는 Flux 스토어를 만드는 createFluxStore(reducer)
라는 이름의 함수를 만듭니다. 내부적으로는 Redux의 구현과 비슷합니다. 이 스토어의 디스패치 핸들러는 액션을 받아서 reducer
를 호출하고, 다음 상태를 저장하고, 변경사항을 알립니다.
이를 통해 앱의 모든 Flux 스토어들을 리듀서로 재작성하면서도 createFluxStore(reducer)
를 익스포트해서 앱의 나머지 부분이 변화를 신경쓰지 않고 Flux 스토어를 바라보게끔 합니다.
스토어를 재작성하면서 스토어 안에서 API를 받아오거나 액션을 일으키는 것 같은 Flux 안티패턴들을 피해야 합니다. 리듀서 기반으로 옮기면서 여러분의 Flux 코드는 더 읽기 쉬워질겁니다!
Flux 스토어를 모두 리듀서 기반으로 옮기고 나면 Flux 라이브러리를 Redux 스토어로 교체하고 작성한 리듀서들을 을 통해 합칩니다.
이제 남은것은 나 다른 것들을 사용해 UI를 옮기는 작업입니다.
마지막으로 비동기 코드를 더 단순화하기 위해 미들웨어같은 Redux 문법을 사용하기를 원할겁니다.
안타깝게도, 여러분은 모델 계층을 재작성해야 합니다. 매우 어려운 일이죠!