graphQL ๊ด๋ จ ์์กด์ฑ ์ถ๊ฐ
1. Apollo Client
Introduction to Apollo Client
Apollo Client is a comprehensive state management library for JavaScript that enables you to manage both local and remote data with GraphQL. Use it to fetch, cache, and modify application data, all while automatically updating your UI. Apollo Client helps
www.apollographql.com
Hooks ์์ด Apollo Client ์ฌ์ฉํ๊ธฐ
yarn:
yarn add apollo-boost react-apollo graphql
npm:
npm install apollo-boost react-apollo graphql
Hooks์ผ๋ก Apollo Client ์ฌ์ฉํ๊ธฐ
npm:
npm install apollo-boost @apollo/react-hooks graphql
yarn:
yarn add apollo-boost @apollo/react-hooks graphql
2. graphql-request
GitHub - jasonkuhrt/graphql-request: Minimal GraphQL client supporting Node and browsers for scripts or simple apps
Minimal GraphQL client supporting Node and browsers for scripts or simple apps - GitHub - jasonkuhrt/graphql-request: Minimal GraphQL client supporting Node and browsers for scripts or simple apps
github.com
graphql-request ์ค์น
//yarn
yarn add graphql-request
//npm
npm i graphql-request
graphql์ด ๊น๋ ค์์ง ์๋ค๋ฉด ๊ฐ์ด ์ค์น
//yarn
yarn add graphql-request graphql
//npm
npm i graphql-request graphql
apollo Client VS graphql-request
1. Apollo Client
์ฅ์ :
- ๋ค์ํ ๊ธฐ๋ฅ ์ ๊ณต: Apollo Client๋ ์ฟผ๋ฆฌ ์บ์ฑ, ์ํ ๊ด๋ฆฌ, ์ค๋ฅ ์ฒ๋ฆฌ, ์ฑ๋ฅ ์ต์ ํ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ๋ด์ฅํ๊ณ ์์ด ๊ฐ๋ฐ์๊ฐ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์์.
- ์ ์ฐํ ์ค์ : Apollo Client๋ ๋ค์ํ ์ค์ ์ต์ ์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๊ฐ ํ๋ก์ ํธ์ ๋ง๊ฒ ์กฐ์ ํ ์ ์์
- ํ์ฅ์ฑ: Apollo Client๋ ํ๋ฌ๊ทธ์ธ ์์คํ ์ ์ง์ํ๋ฉฐ, ์ด๋ฅผ ํตํด ๊ธฐ๋ฅ์ ํ์ฅํ๊ฑฐ๋ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ํตํฉ์ด ๊ฐ๋ฅ
๋จ์ :
- ํฌ๊ธฐ: Apollo Client๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋ฒ๋ค ํฌ๊ธฐ๊ฐ ์๋์ ์ผ๋ก ํผ.
- ๋ฐ๋ผ์ ์ด๊ธฐ ๋ก๋ฉ ์๊ฐ์ด ๋์ด๋ ์ ์์
- ๋ฌ๋ ์ปค๋ธ: Apollo Client๋ ๋ค์ํ ๊ธฐ๋ฅ๊ณผ ์ค์ ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์, ์ฒ์ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์์๊ฒ๋ ๋ฌ๋ ์ปค๋ธ๊ฐ ์กด์ฌํ ์ ์์
2. graphql-request
์ฅ์ :
- ๊ฐ๋ฒผ์: graphql-request๋ ์์ ๋ฒ๋ค ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ํ์ํ ๊ธฐ๋ฅ๋ง ์ ๊ณต
- ์ด๋ ์ด๊ธฐ ๋ก๋ฉ ์๋๋ฅผ ํฅ์์ํค๊ณ , ๋คํธ์ํฌ ์ฌ์ฉ๋์ ์ค์ผ ์ ์์
- ๊ฐํธํ ์ฌ์ฉ๋ฒ: ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ API๋ฅผ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋น ๋ฅด๊ฒ ์ ์ฉํ ์ ์์
- ํ๊ฒฝ์ ๋ ๋ฆฝ์ : ๋ธ๋ผ์ฐ์ ๋ฟ๋ง ์๋๋ผ Node.js์ ๊ฐ์ ํ๊ฒฝ์์๋ ์ฌ์ฉํ ์ ์์
๋จ์ :
- ์ถ๊ฐ ๊ธฐ๋ฅ ๋ถ์กฑ: GraphQL-Request๋ ๊ธฐ๋ณธ์ ์ธ GraphQL ๊ธฐ๋ฅ๋ง ์ ๊ณตํ๋ฏ๋ก, ๋ณต์กํ ๊ธฐ๋ฅ์ด๋ ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ด ํ์ํ ๊ฒฝ์ฐ์๋ ์ง์ ๊ตฌํํด์ผ ํ ์ ์์
- ์บ์ฑ ๋ฐ ์ํ ๊ด๋ฆฌ ๋ถ์กฑ: GraphQL-Request๋ ์บ์ฑ ๋ฐ ์ํ ๊ด๋ฆฌ๋ฅผ ์ํ ๋ด์ฅ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ผ๋ฏ๋ก, ๊ฐ๋ฐ์๊ฐ ์ง์ ๊ตฌํํด์ผ ํจ.
๊ฐ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ก์ ํธ์ ์๊ตฌ์ฌํญ๊ณผ ์ฉ๋์ ๋ฐ๋ผ ์ ํ๋์ด์ผ ํจ.
์์ ๊ท๋ชจ์ ํ๋ก์ ํธ๋ ๋น ๋ฅธ ๊ฐ๋ฐ์ด ํ์ํ ๊ฒฝ์ฐ์๋ graphql-request๊ฐ ์ ์ฉํ ์ ์์ผ๋ฉฐ,
๋ณต์กํ ์ํ ๊ด๋ฆฌ๋ ์บ์ฑ ๊ธฐ๋ฅ์ด ํ์ํ ๋๊ท๋ชจ ํ๋ก์ ํธ์๋ Apollo Client๊ฐ ์ ํฉํ ์ ์์.
'Development > API' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[API] graphql-request | GraphQLClient, request (0) | 2023.06.29 |
---|
๋๊ธ