2017-11-24 17 views
0

여러 API 호출을 실행하는 React 구성 요소가 있습니다. 초기로드시 기본 API 호출이 실행됩니다.API를 호출하여 전역 상태/소품에 응답하십시오 (Redux 제외)

기본 API 호출에서 since_launch라는 속성에서 상태를 저장해야합니다. 후속 API 호출이 구성 요소에서 실행될 때 since_launch 상태는 후속 API 호출에서 사용할 수 없기 때문에 손실됩니다. 내가 since_launch 상태를 저장해야 나머지 API 호출에서 로직을 결정할 수 있습니다.

응용 프로그램은 Redux를 사용하지 않으므로 전역 상태를 저장하는 옵션이 아닙니다. 이 문제를 해결하기 위해 초기로드에서 since_launch를 저장하기 위해 로컬 스토리지를 사용했지만 이는 적절하지 않습니다. 어떤 아이디어라도 내가 얻으려는 것이 단순히 가능하지 않다는 것을 인정할 것입니다.

+0

각기 다른 API 호출에서 전체 상태를 업데이트 하시겠습니까? –

+0

예 Recompose – londonfed

+0

을 사용하여 각 통화에서 소품을 통해 전체 상태를 업데이트합니다. 왜 그런가? 그것을 사용하는 데 어떤 이점이 있습니까? –

답변

0

응용 프로그램은 그래서 이것은 여러 구성 요소를 반응들을 보이는 사이에 공유가/그것을 조작에 대한 데이터를 검색하여 전역 상태

를 저장하는 옵션이 아닌 돌아 오는을 사용하지 않고, 해당 응용 프로그램을 사용할 필요가 flux-data streamredux이 최상의 구현 방법입니다. 또한 API 호출은 항상 비동기이기 때문에 redux만으로는 충분하지 않습니다. 제안 된 작업의 사실상 표준 인 redux-saga과 같은 프로세스 관리자를 사용해야합니다.

redux이 마음에 들지 않으며 맞춤 솔루션 (이상한 것)을 사용하려면 제공자와 간단한 프로세스 관리자를 작성하십시오. 공급자는 공유 상태를 저장하고 Context 메커니즘을 통해 구성 요소간에 배포해야합니다. 간단한 프로세스 관리자는 전체 라이프 사이클 구성 요소에서 미들웨어 기능이어야하며 대기열에서 API 호출의 결과를 가져와야합니다. 자신의 상태없이 기능적 구성 요소해야한다 - Page 또는 Provider - 당신은 redux를 사용하거나하지, 모든 하나를 제외하고 구성 요소 반응하는 경우
는, 어쨌든

(하지만 그 결과에 당신은이 https://github.com/freeman-lab/minidux 뭔가를 재발견합니다) . 또 다른 경우에 React을 사용하면 얻을 수있는 이익이 상실됩니다.