수색…


소개

요즘 프론트 엔드에서 애플리케이션 수준의 상태를 관리하는 데있어 Redux가 자리를 잡았으며 "대규모 애플리케이션"을 사용하는 사람들은 종종이를 맹세합니다. 이 주제에서는 React 애플리케이션에서 상태 관리 라이브러리 Redux를 사용해야하는 이유와 방법에 대해 설명합니다.

비고

React의 컴포넌트 기반 아키텍처는 애플리케이션을 모듈화되고 캡슐화 된 작은 조각으로 분해하는 데 환상적이지만, 전체적으로 애플리케이션 상태를 관리하기위한 몇 가지 과제를 제시합니다. Redux를 사용하는 시간은 하나 이상의 구성 요소 또는 페이지 (같은 경로)에 동일한 데이터를 표시해야하는 경우입니다. 이 시점에서 더 이상 데이터를 한 구성 요소 나 다른 구성 요소의 로컬 변수에 저장할 수 없으며 구성 요소간에 메시지를 보내면 신속하게 엉망이됩니다. Redux를 사용하면 구성 요소가 모두 상점의 동일한 공유 데이터에 가입하므로 상태를 전체 응용 프로그램에 일관되게 쉽게 반영 할 수 있습니다.

연결 사용

createStore를 사용 하여 Redux 저장소를 만듭니다.

import { createStore } from 'redux'
import todoApp from './reducers'
let store = createStore(todoApp, { inistialStateVariable: "derp"})

연결 을 사용하여 Redux 저장소에 구성 요소를 연결하고 저장소에서 구성 요소로 소품을 가져옵니다.

import { connect } from 'react-redux'

const VisibleTodoList = connect(
  mapStateToProps,
  mapDispatchToProps
)(TodoList)

export default VisibleTodoList

구성 요소가 Redux 저장소에 메시지를 보낼 수있는 동작을 정의하십시오.

/*
 * action types
 */

export const ADD_TODO = 'ADD_TODO'

export function addTodo(text) {
  return { type: ADD_TODO, text }
}

이 메시지를 처리하고 감속기 기능의 상점에 대한 새 상태를 작성하십시오.

function todoApp(state = initialState, action) {
  switch (action.type) {
    case SET_VISIBILITY_FILTER:
      return Object.assign({}, state, {
        visibilityFilter: action.filter
      })
    default:
      return state
  }
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow