응용 프로그램 아키텍처의 질문. 페이지에 많은 구성 요소가 (look at the picture) (주간) 있다고 가정합니다. 주 아동용 구성 요소를 전환하는 것이 더 좋은 이유는 무엇입니까 (활성/비활성)? 페이지 (1, 2, 3, 다음)? 두 작업에 react-router를 사용할 수 있습니까? P .: 렌더링을 위해 ReactJS를 사용합니다.React, Redux, React-Router?
답변
결과 필터링을 위해 반응 라우터를 사용하지 않을 것입니다. Redux를 사용하고 있기 때문에 감속기를 기본 섹션으로 분할하고 활성 상태/비활성 상태 및 섹션 당 현재 페이지를 모두 한 저장소에 보관할 수 있습니다.
나는이 페이지에서 react-router를 사용할 필요가 없다고 생각합니다.
그냥 아래처럼 감속기에 의해 (/ 활성, 1,2,3, 활성 다음되지 않음) 상태를 제어해야합니다
case NEXT_PAGE:
return {...state, list:[{active:0, ...others},{active:1, ...others},...], page: 1};
그리고 당신은 당신이에 표시 할 데이터를 얻을 수 있습니다 소품의 페이지.
mapStateToProps(state) {
return {
list: state.xxx.list,
currentPage: state.xxx.page
totalPage: state.xxx.total
}
}
키는 유스 케이스입니다. 당신은 다음과 같은 사용 사례가있는 경우 :
- 사용자는 필터링 된 결과 페이지의 링크를 붙여 복사하고 다른
- 사용자 책갈피로 필터링 된 결과 페이지를 공유하고, 나중에 다시 와서.
그럼 분명히 반응 라우터를 사용한다고 말할 수 있습니다. <Route path="main/:status/:page" component={Main}/>
그런 params 객체는 자신의 메인 구성 요소에 소품으로 주입 될 것이다 :
는이 같은 경로를 가질 수 있습니다.
사용자가 버튼을 클릭하면 반응 라우터의 push
을 사용하여 경로를 변경하거나 Link
을 반응 라우터에서 사용합니다. (redux로 디스패치 조치를 사용하거나 로컬 상태로 저장 한 경우 this.setState
을 사용하는 대신).
위와 같은 사용 사례가 많은 이점이있는만큼 redux 또는 로컬 상태로 저장하는 것보다 어렵지 않다고 생각합니다.
견고하고 확장 가능한 응용 프로그램 아키텍처를 원하면 starterkit을 사용하는 것이 좋습니다.
좋은 스타터 키트의 위키는 선택한 디자인 원리를 설명합니다.
머리가없는 백엔드와 결합 할 때 가장 좋아하는 스타터 키트 중 하나는 React Redux starter kit입니다.
- 1. React Native + Redux React 네이티브 + Redux
- 2. 부작용이있는 React/Redux 데이터로드
- 3. React redux oop classes
- 4. React Redux 무한 루프
- 5. django에 react redux 통합
- 6. React Redux MapStateToProps
- 7. React Router + Redux?
- 8. React Redux 내비게이션 확인
- 9. React/Redux 파일 다운로드
- 10. Localstorage with react-redux
- 11. Redux/React-Redux - 감속기에서 "state = XXX"사용
- 12. React - Redux - 외부 이벤트 구독
- 13. 데이터 유치시에만 react-redux 렌더링
- 14. window.innerHeight with React and redux
- 15. Webpack을 이용한 Redux/React 디버깅
- 16. 효소/React/Redux - 불변의 위반.
- 17. React Redux - 액션으로 소품 전달
- 18. 큰 상태의 React/Redux 퍼포먼스
- 19. 웹 컴포넌트를 빌드하기위한 React/Redux
- 20. React-Redux - 목록에서 항목을 선택하십시오.
- 21. React-Redux Drop HTTP 요청
- 22. Async Initial 상태에 "redux-thunk"를 어떻게 사용해야합니까? (react/redux)
- 23. redux-saga를 redux 및 react-redux와 함께 사용하는 방법
- 24. react redux middleware dispatch 2 actions
- 25. React Native - Redux - 부모에서 자식으로 값 전달
- 26. React-Redux : 상태가 업데이트되었지만 복사되지 않았습니다.
- 27. Reusable react-redux 컨테이너 구성 요소
- 28. 동형 React/Redux/Webpack에서 노드 라이브러리 사용
- 29. Redux/React 응용 프로그램에 데이터베이스를위한 장소가 있습니까?
- 30. React with Redux 상태에서 rerendered 전체 양식
의존성 : 활성 일 때 각 하위 구성 요소에 고유 한 URL이 있어야합니까? 그렇다면 React Router가 원하는 것을 쉽게 할 수 있습니다. 그렇다면 부모 구성 요소의 상태를 사용하여 렌더링 할 자식을 결정하는 것이 좋습니다. –
재미있는 점은, 당신이 라틴어 동사를 변형하고 있었지만 말입니다./구약 –