Redux
  • Read Me
  • 소개
    • 동기
    • Core Concepts
    • 3가지 원칙
    • 기존 기술들
    • Learning Resources
    • 생태계
    • 예시
  • 기초
    • 액션
    • 리듀서
    • 스토어
    • 데이터 흐름
    • React와 함께 사용하기
    • 예시: Todo List
  • 심화
    • 비동기 액션
    • 비동기 흐름
    • 미들웨어
    • React Router와 함께 사용하기
    • 예시: Reddit API
    • Next Steps
  • 레시피
    • Configuring Your Store
    • Redux로 마이그레이션
    • 객체 확산 연산자 사용하기
    • 보일러플레이트 줄이기
    • Server Rendering
    • Writing Tests
    • Computing Derived Data
    • Implementing Undo History
    • Isolating Subapps
    • 리듀서 구조화하기
      • 사전에 요구되는 개념들
      • 기본 리듀서 구조
      • 리듀서 로직 분리하기
      • 리듀서 예제 리팩토링하기
      • combineReducers 사용하기
      • combineReducers 더 알아보기
      • 상태 정규화하기
      • 정규화된 데이터 업데이트하기
      • 리듀서 로직 재사용하기
      • 불변 업데이트 패턴
      • 상태 초기화하기
    • Using Immutable.JS with Redux
  • FAQ
    • General
    • Reducers
    • Organizing State
    • Store Setup
    • Actions
    • Immutable Data
    • Code Structure
    • Performance
    • Design Decisions
    • React Redux
    • Miscellaneous
  • 문제해결
  • 용어사전
  • API 레퍼런스
    • createStore
    • Store
    • combineReducers
    • applyMiddleware
    • bindActionCreators
    • compose
  • 변경 기록
  • 후원자
  • 피드백
Powered by GitBook
On this page
  • Flux로부터
  • Backbone으로부터
  1. 레시피

Redux로 마이그레이션

PreviousConfiguring Your StoreNext객체 확산 연산자 사용하기

Last updated 6 years ago

Redux는 하나의 거대한 프레임워크가 아닌, 규약들과 로 이루어져 있습니다. 여러분의 "Redux 코드"의 주요 부분은 Redux API를 사용하지도 않으며, 여러분은 대부분의 시간을 함수를 작성하는데 보낼겁니다.

이는 Redux에서 옮기는 것과 Redux로 옮기는 것 양쪽 모두를 쉽게 만들어줍니다. 우리는 여러분이 묶여있는걸 원하지 않습니다!

Flux로부터

는 Flux 스토어의 "핵심"을 지니고 있기 때문에, , , , 기타 Flux 라이브러리 중 무엇을 쓰고 있었다고 해도 기존의 Flux 프로젝트에서 Redux로 옮기는 것은 어렵지 않습니다.

Redux에서 저들 라이브러리로 옮기는 것도 아래의 순서를 반대로 행하면 가능합니다.

여러분이 해야 할 순서는 다음과 같습니다:

  • 기존 앱이 리듀서와 호환되게 하는 Flux 스토어를 만드는 createFluxStore(reducer)라는 이름의 함수를 만듭니다. 내부적으로는 Redux의 구현과 비슷합니다. 이 스토어의 디스패치 핸들러는 액션을 받아서 reducer를 호출하고, 다음 상태를 저장하고, 변경사항을 알립니다.

  • 이를 통해 앱의 모든 Flux 스토어들을 리듀서로 재작성하면서도 createFluxStore(reducer)를 익스포트해서 앱의 나머지 부분이 변화를 신경쓰지 않고 Flux 스토어를 바라보게끔 합니다.

  • 스토어를 재작성하면서 스토어 안에서 API를 받아오거나 액션을 일으키는 것 같은 Flux 안티패턴들을 피해야 합니다. 리듀서 기반으로 옮기면서 여러분의 Flux 코드는 더 읽기 쉬워질겁니다!

  • Flux 스토어를 모두 리듀서 기반으로 옮기고 나면 Flux 라이브러리를 Redux 스토어로 교체하고 작성한 리듀서들을 을 통해 합칩니다.

  • 이제 남은것은 나 다른 것들을 사용해 UI를 옮기는 작업입니다.

  • 마지막으로 비동기 코드를 더 단순화하기 위해 미들웨어같은 Redux 문법을 사용하기를 원할겁니다.

Backbone으로부터

안타깝게도, 여러분은 모델 계층을 재작성해야 합니다. 매우 어려운 일이죠!

그들을 함께 작동하도록 묶는 함수들
Flummox
Alt
traditional Flux
createStore
combineReducers(reducers)
react-redux
리듀서