내 React/Redux 응용 프로그램에서 저는 응용 프로그램 전체에서 사용해야하는 상태로 구성 요소를 구현하는 문제에 직면하고 있습니다. 간단한 팝업 구성 요소를 모든 페이지에서 다시 사용할 수있는 열림/닫음 상태를 예로 들어 봅시다. 그 상태를 관리하기 위해 (의 기본 setState
반응 단지 구문 설탕입니다 내가 recompose.withReducer 사용)Reusable react-redux 컨테이너 구성 요소
사용
setState
하고 "로컬"감속기 : 여기 내가 찾은 두 가지 접근 방식이다. 페이지의 다른 부분에서 구성 요소의 상태를 변경해야 할 때까지 쉽고 재사용 가능합니다. 그리고 당신은 상태를 바꾸기 위해 어떤 redux 액션을 호출 할 수 없습니다.구성 요소의 상태를 Redux 저장소에 보관하십시오. 그런 접근 방식을 사용하면 구성 요소 트리의 어느 위치에서나
closePopupAction({ id })
을 호출하여 상태를 변경할 수 있습니다. '하지만 구성 요소가 마운트되고 삭제 될 때 필자는 어떻게 든 감속기 (루트 폴더에 유지하려고하는)를 루트 감속기에 넣어야합니다. 구성 요소가 마운트 해제 될 때 게다가 우리는 페이지에 배수 팝업을 가질 수 있으며 각각은 고유 한 상태를가집니다.
누구와 비슷한 문제가 있습니까?
을 나는 네가 무엇을 요구하고 있는지 확신하지 못한다. 어떤 솔루션이 다른 솔루션보다 나은지 묻는 중입니까? – wuct
두 가지 방법으로 작동하지 않습니다. 그래서 나는 다른 것을 찾고 있어요 –
성취하고자하는 것을 정교하게 만들 수 있습니까? 나는 두 가지 방법이 모두 효과가 있다고 믿습니다. 'recompose'의 경우, 다른 서브 트리에서'setState'를 호출하고 싶다면'withState()'를 상위 노드에 올릴 수 있습니다. 'redux'의 경우 상태가 극도로 큰 경우가 아니면 reducers를 제거 할 필요가 없습니다. – wuct