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
  • 카운터 바닐라(Counter Vanilla)
  • 카운터(Counter)
  • Todos
  • Todos with Undo
  • TodoMVC
  • 쇼핑 카트(Shopping Cart)
  • Tree View
  • 비동기(Async)
  • 범용(Universal)
  • 리얼 월드(Real World)
  • 더 많은 예제
  1. 소개

예시

Previous생태계Next기초

Last updated 6 years ago

Redux 에는 몇 가지 예제 코드와 함께 배포됩니다.

복사에 대하여

Redux 예제를 예제 폴더 밖에 복사해서 사용한다면, webpack.config.js 파일의 마지막 몇 줄은 지워도 괜찮습니다. 이는 "여러분의 프로젝트에서 이 부분을 안전하게 지울 수 있습니다(You can safely delete these lines in your project)."라는 주석이 있습니다.

카운터 바닐라(Counter Vanilla)

다음 명령어로 예제를 실행할 수 있습니다.

git clone https://github.com/reactjs/redux.git

cd redux/examples/counter-vanilla
open index.html

이 예제는 빌드 시스템이나 뷰 프레임 워크가 필요하지 않으며, ES5에서 사용되는 Redux API를 보여줍니다.

카운터(Counter)

다음 명령어로 예제를 실행할 수 있습니다.

git clone https://github.com/rackt/redux.git

cd redux/examples/counter
npm install
npm start

open http://localhost:3000/

Todos

git clone https://github.com/reactjs/redux.git

cd redux/examples/todos
npm install
npm start

open http://localhost:3000/

이 예제는 테스트가 포함되어 있습니다.

Todos with Undo

git clone https://github.com/reactjs/redux.git

cd redux/examples/todos-with-undo
npm install
npm start

open http://localhost:3000/

TodoMVC

git clone https://github.com/rackt/redux.git

cd redux/examples/todomvc
npm install
npm start

open http://localhost:3000/

이 예제는 테스트가 포함되어 있습니다.

쇼핑 카트(Shopping Cart)

git clone https://github.com/reactjs/redux.git

cd redux/examples/shopping-cart
npm install
npm start

open http://localhost:3000/

Tree View

git clone https://github.com/reactjs/redux.git

cd redux/examples/tree-view
npm install
npm start

open http://localhost:3000/

이 예제는 깊이 중첩된 트리뷰를 렌더링하고 정규화된 형식으로 상태(state)를 나타내는 방법을 보여 줍니다. 이를 통해 리듀서에서 쉽게 업데이트 할 수 있습니다. 컨테이너 컴포넌트는 자신들이 렌더링하는 트리 노드에만 관여함으로써 우수한 렌더링 성능을 갖을 수 있습니다.

이 예제는 테스트가 포함되어 있습니다.

비동기(Async)

git clone https://github.com/rackt/redux.git

cd redux/examples/async
npm install
npm start

open http://localhost:3000/

범용(Universal)

git clone https://github.com/rackt/redux.git

cd redux/examples/universal
npm install
npm start & npm run client

open http://localhost:3000/

리얼 월드(Real World)

git clone https://github.com/rackt/redux.git

cd redux/examples/real-world
npm install
npm start

open http://localhost:3000/

이 예제는 최상급 예시입니다. 디자인도 반영되어 있습니다. 이제는 들어온 엔티티(entities)를 표준화 된 캐시에 유지하기, API 호출을 위한 사용자 정의 미들웨어 구현, 부분적으로 로드된 데이터 렌더링, 페이지네이션, 응답 캐싱, 에러메시지 표시 및 라우팅에 대해 다룹니다. 또한 Redux DevTools도 포함됩니다.

더 많은 예제

이 예제는 Redux를 React와 함께 사용하는 가장 기본적인 예입니다. 간단하게하기 위해 저장소가 변경 될 때 React 구성 요소를 수동으로 다시 렌더링합니다. 실제 프로젝트에서는 고성능 바인딩을 사용하는 것이 좋습니다.

다음 명령어로 예제를 실행할 수 있습니다.

상태(state) 업데이트가 Redux의 구성 요소와 함께 작동하는 방법을 잘 이해할 수있는 가장 좋은 예제입니다. 이 예제는 리듀서가 취급하는 액션(action)을 다른 리듀서에 위임하는 방법과 를 사용하여 프리젠테이션 구성요소에서 컨테이너 구성요소를 생성하는 방법을 보여줍니다.

다음 명령어로 예제를 실행할 수 있습니다.

이 예제는 이전 예제(todo)의 변형입니다. 거의 동일하지만, 로 리듀서를 감싸면 몇 줄의 코드로 앱에 실행취소/다시실행 기능을 추가 할 수 있습니다.

다음 명령어로 예제를 실행할 수 있습니다.

이것은 고전적인 예제입니다. 비교를 위해 여기에 있지만, Todos 예제와 같은 것을 다룹니다.

다음 명령어로 예제를 실행할 수 있습니다.

이 예제는 앱이 커짐에 따라 중요한 특징적인 Redux 패턴을 보여줍니다. 특히 ID를 통해 정규화된 방법으로 엔티티(entities)를 저장하는 방법, 여러 레벨에서 리듀서를 작성하는 방법 및 리듀서와 함께 셀렉터를 정의하여 상태 모양에 대한 지식을 캡슐화하는 방법을 보여줍니다. 또한 를 사용하여 로그를 남기고, 미들웨어를 사용하여 조건부로 액션을 처리(dispatch)하는 방법을 보여줍니다. .

다음 명령어로 예제를 실행할 수 있습니다.

다음 명령어로 예제를 실행할 수 있습니다.

이 예제는 비동기API 읽기, 사용자 입력에 응답하여 데이터 가져오기, 로딩중 표시 보여주기, 응답을 캐싱하기 및 캐시 무효화하기를 포함하고 있습니다. 또한 미들웨어를 사용하여 비동기의 부작용을 캡슐화합니다.

다음 명령어로 예제를 실행할 수 있습니다.

이것은 Redux와 React를 사용한 의 기본 데모입니다. 클라이언트 저장소가 기존 상태에서 부팅할 수 있도록 서버에서 초기 저장소 상태를 준비하고 클라이언트에 전달하는 방법을 보여줍니다. [Universal] 예제에서는 다음을 다룹니다.

다음 명령어로 예제를 실행할 수 있습니다.

에서 더 많은 예제를 찾아볼 수 있습니다.

소스코드
카운터 바닐라(Counter Vanilla)
카운터(Counter)
React Redux
Todos
React Redux
Todos with Undo
Redux Undo
TodoMVC
TodoMVC
쇼핑 카트(Shopping Cart)
Redux Logger
Redux Thunk
Tree View
비동기(Async)
Redux Thunk
Universal
서버 렌더링
리얼 월드(Read World)
Awesome Redux