2017-12-15 26 views
1

오프라인 지원이 필요한 아폴로 앱을 제작하고 있습니다.오프라인 지원을 위해 GraphQL Apollo 캐시를 사용하려면 어떻게해야합니까?

나는 Apollo가 apollo-cache-inmemory을 사용하여 캐시를 직접 제어 할 수 있으며 writeQuery과 같은 방법으로 서버의 데이터를 변경하지 않고 캐시 데이터를 변경할 수 있음을 알고 있습니다.

로컬 캐시 데이터를 서버에 동기화하는 가장 좋은 방법은 무엇입니까? 일정 기간 동안 앱이 오프라인 상태가 될 수 있다고 가정 해 봅시다.

답변

0

AWS AppSync 당신을 위해이 문제를 처리하고있는 아폴로 플러그가됩니다 :이 오프라인 캐싱 및 자동 동기화뿐만 아니라 분쟁 해결을 수행합니다

yarn add aws-appsync 
yarn add aws-appsync-react 

합니다. AppSync 플러그인과 Apollo : https://docs.aws.amazon.com/appsync/latest/devguide/building-a-client-app-react.html#offline-settings

+0

덕분에 낙관적 UI를 제어 할 수도 있습니다. 이것이 작동하려면 데이터 소스로 AWS db를 사용해야한다는 뜻입니까? – tropicalfish

+0

@tropicalfish AppSync는 DynamoDB, Amazon Elasticsearch 및 AWS Lambda를 지원합니다. MySQL과 같은 다른 DB를 사용하려면 Lambda 데이터 소스를 사용하여 연결할 수 있습니다. 오프라인 기능은 똑같이 작동합니다. – Richard