跳至主要内容

Apollo Client Introduction

What's Apollo client

根據官方文件說法,Apollo client是一個client端的狀態管理函示庫,可以用來管理 local 及 remote 的GraphQL 資料。

從最基本的來說,可以把他想成是一個用來與後端GraphQL溝通的前端套件,(像是client端要與Rest API溝通可能會使用 got, axios等套件)。透過它加上適當的GraphQL Query就能與後端進行交換資料。

然而,他實際的功能不只這樣,除了基本的Query / Mutation 功能以外,它還有提供強大的狀態管理功能,也就是cache。Apollo client會試著把每個Query / Mutation的結果寫入 local cache裡面。搭配適當的 cache policy,可以對前端的效能進行優化。

另外,Apollo client的官方文件也非常詳細,對於常見的client side pattern幾乎都有紀錄並提供範例。E.g. Pagination, local state/variable等等。另外也有 Apollo Link,(類似後端中middleware的功能),可以讓整個GraphQL的Network Request被分階段處理。

以下會探討一些文件中提到的重要觀念

  • Cache
  • Pagination

Ref