2017-01-11 1 views
15

Redux를 배웠습니다. 명확하지 않은 부분은 어떻게 반응 상태 대 redux 저장소를 사용하고 나서 작업을 파견 할 것인가를 결정하는 것입니다. 지금까지는 Redux 저장소 대신 React 상태를 사용할 수있는 것처럼 보였습니다. Redux 스토어를 사용하면서 우려를 분리하고 하나의 컨테이너 구성 요소와 나머지를 비 상태 유지 구성 요소로 간주하지만 어떻게 React state Vs redux 스토어를 사용해야하는지에 대한 결정을 내게하지는 않습니다. 누군가 제발 도와 줄 수 있니?React state Vs Redux Store를 선택하는시기

감사합니다.

+1

이것은 React Redux에 들어간 사람들이 직면하는 일반적인 딜레마입니다. 하지만 응용 프로그램 상태와 구성 요소 상태의 차이점을 이해하는 것이 좋습니다. – semuzaboi

+0

Dan Abramov (Redux의 창시자) [이미이 답변] (https://github.com/reactjs/redux/issues/1287). – totymedli

답변

20

경우

실제로 당신은 단 아브라모프, 당신은 나보다 더 나은 대답을 줄 수 REDUX의 창조자에 의해 돌아 오는 필요하지 않을 수도라는 흥미로운 게시물있다 다른 구성 요소 또는 구성 요소가 마운트 해제 될 때 상태를 유지할 필요가없는 경우 구성 요소의 상태로만 놓을 수 있습니다.

Redux 저장소가 프런트 엔드의 데이터베이스라고 생각할 수 있습니다. API에서 가져온 제품 데이터와 같은 것이 있으면 Redux 저장소가 올바른 위치에 있습니다. isOpen 소품이있는 드롭 다운 구성 요소가있는 경우 해당 드롭 다운의 부모는 dropdownIsOpen을 구성 요소 상태로 유지할 수 있습니다. 또한 이것은 잘못된

만 1 개 컨테이너 구성 요소와 그것의 나머지 부분과 비 저장 구성 요소

말했다 https://github.com/reactjs/redux/issues/1287

: 자세한 내용은

, 여기에 댄의 답변입니다 . 컨테이너 구성 요소를 여러 개 가질 수 있습니다. 컨테이너 구성 요소에는 다른 컨테이너 구성 요소가 포함될 수도 있습니다. 책에서

+0

예.Redux FAQ에서 다음 답변을 참조하십시오. http://redux.js.org/docs/faq/OrganizingState.html#organizing-state-only-redux-state, http://redux.js.org/docs/faq /ReactRedux.html#react-multiple-components. – markerikson

0

: 모든

첫째, 우리는 항상 필요한 데이터의 최소 양이 상태로해야 알아 두셔야합니다. 예를 들어 버튼을 클릭 할 때 라벨을 변경해야한다면 라벨의 텍스트를 저장하면 안되지만 버튼을 클릭했는지 여부를 알려주는 부울 플래그 만 저장해야합니다 (예 : ). 둘째, 은 이벤트에 이 발생했을 때 업데이트하려는 값만 상태에 추가해야하며이 경우 해당 구성 요소를 다시 렌더링해야합니다. 상태가 정보를 저장하기에 적합한 장소인지 여부를 알아내는 또 다른 방법은 구성 요소 자체 또는 해당 하위 요소가 유지하는 데이터가 외부에 있는지 확인하는 것입니다. 여러 개의 구성 요소가 동일한 정보를 추적해야하는 경우 은 응용 프로그램 수준에서 Redux와 같은 상태 관리자를 사용하는 것이 좋습니다.