2016-06-20 2 views
1

서로 의존하는 여러 끝점에서 데이터를 검색해야하는 경우 어떻게 redux 응용 프로그램을 구조화해야하는지 이해하려고합니다.Redux 데이터 종속성 관리

예를 들어 이벤트 세부 정보를 나열하는 구성 요소가 있다고 가정 해 보겠습니다. 이벤트 ID가 있습니다. 해당 이벤트에 대한 모든 정보와 이벤트 시간 사이에 발생하는 모든 이벤트를 가져와야합니다. 내가 어떤 이벤트를 검색해야 할지를 알기 위해서는 선택한 이벤트의 시작과 끝 시간을 알아야합니다.

어떻게 처리 할 구성 요소를 구성합니까? 지금까지 나는 다음과 같은 것을 생각하고 있었다.

위의 문제점은 캐싱에 따라 무한 루프를 생성하지 않는다는 점이다.

+0

redux 또는 구성 요소를 작성하는 방법에 대한 질문입니까? 또한 의존성 관리는 어디에서 작동합니까? – lux

답변

4

올바르게 이해한다면 여러 비동기 HTTP 호출을 조정하고 응용 프로그램의 상태를 업데이트하려고 시도하고 있습니까?


이 작업에 대한 관용적 접근 방식은 사용 async actions하는 것입니다. 이를 통해 비동기 액션의 단일 발송을 통해 React 구성 요소에서로드 프로 시저를 트리거 할 수 있습니다. 이 비동기 작업은 백엔드에 대한 호출과 호출 간의 데이터 매핑을 조정합니다.

은 필요한 경우 애플리케이션의 상태을 업데이트하는 과정에서 동기 동작을 전달할 수 있습니다 (예 : 사용자에게 진행 상황을 표시하거나 최종 결과를 표시합니다.

결과적으로 API의 오케스트레이션이으로 완전히 캡슐화 된 입니다. 응용 프로그램을 렌더링하는 React 구성 요소 나 감속기는 호출 순서 나 호출간에 전달되는 정보를 알 필요가 없습니다. 주 (state)에 속해야하는 전화의 중개 최종 결과 만이 그들과 관련이 있습니다. 문제에 대한 약간 다른 접근 방식을 당신은 또한 sagas에 볼 수있는 작업을 비동기에 대한 대안으로


.

+1

이 문제의 핵심은 더 많거나 적습니다. 나는 비동기 동작에 대한 폭이 좁은 것으로 생각한다. 나는 비동기 액션이 여러 개의 동기 아약스 요청을 수행 할 수 있고 동기 액션을 파견 할 수 있다고 생각하지 않았다. TLDR : 비동기 작업이 매우 유연합니다. –

+0

나는 할 수만 있다면 사가에 대해 또 하나 +1을 줄 것입니다. 나는 그것들을 들여다 보았고 다중 계층 의존성의 유즈 케이스에 잘 맞았다. –