Apollo Client
https://www.apollographql.com/docs/react/
GraphQL
์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ๊ณผ ์๊ฒฉ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ฐ์ดํฐ๋ฅผ ํ์น, ์บ์, ์์ ํ ๋ ์ฌ์ฉํ๋ค.
๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ์๋์ผ๋ก UI ์ ๋ฐ์ดํธ ํ๋ค.
ํต์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ@apollo/client์ React๊ฐ ์ ๋ชฉ๋์ด ์๋ค.
๊ธฐ๋ณธ ์ฌ์ฉ ๋ฐฉ๋ฒ
ref. https://www.apollographql.com/docs/react/get-started/
1. ์ค์น
npm install @apollo/client graphql
@apollo/client
:Apollo Client
์ธํ ์ ํ์ํ ํจํค์ง๋ก, in-memory ์บ์, ๋ก์ปฌ์ํ ๊ด๋ฆฌ, ์๋ฌ ์ฒ๋ฆฌ, ๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ฅผ ํฌํจํ๋ค.
graphql
: GraphQL ์ฟผ๋ฆฌ ํ์ฑ์ ๋ด๋นํ๋ ํจํค์ง
2. ApolloClient
์ด๊ธฐํ
ApolloClient
์ด๊ธฐํ
2-1.
ํ์ํ ๋ชจ๋ ์ถ๊ฐ
2-2. ApolloClient ์ด๊ธฐํ
uri
,cache
์์ฑ์ ๊ฐ์ง ์ค์ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๋ค.
uri
GraphQL ์๋ฒURL
cache
InMemoryCache ์ธ์คํด์ค, Apollo Client
๊ฐ์ฟผ๋ฆฌ ํ์น ํ ๊ฒฐ๊ณผ๋ฅผ ์บ์ฑํ๊ธฐ ์ํด
์ฌ์ฉ
์ฐธ๊ณ : ์๋ฐ์คํฌ๋ฆฝํธ ์ฌ์ฉ ์์
3. ๋ฆฌ์กํธ ์ฐ๋ํ๊ธฐ
์ฟผ๋ฆฌ๋ฅผ ์ฐ๋ํ์ฌ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์๋์ผ๋ก UI๋ฅผ ์ ๋ฐ์ดํธ ํ ์ ์๋ค.
ApolloProvider
(๋ฆฌ์กํธ Context.Provider
์ ์ ์ฌ) ์ปดํฌ๋ํธ๋ก ๋ฆฌ์กํธ app๋ฅผ ๊ฐ์ธ Apollo Client Context
์์ ๋๋ค.
GraphQL data
๊ฐ ํ์ํ ์ปดํฌ๋ํธ ์ต ์์์ ๋์ด ์ด๋์๋ ์ ๊ทผํ ์ ์๊ฒ ํ๋ค.
4. useQuery ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ
useQuery
: UI ์ GraphQL ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๋ฆฌ์กํธ ํ
Last updated