Apollo-client 3๋ ํ์ฌ ๋ฒ ํ ๋จ๊ณ์ ์์ต๋๋ค. ๋ ํฐ ๋ณํ ์ค ํ๋๋ apollo-link
์ด ์ด์ @apollo/client
์ผ๋ถ๋ผ๋ ๊ฒ์
๋๋ค.
๋๋ apollo-client ๋ฒ ํ ๋ฒ์ ์ ์ฌ์ฉํด ๋ณด์์ง๋ง ์ฌ์ ํ apollo-link
์ฐธ์กฐํ๊ธฐ ๋๋ฌธ์ apollo-link-rest
๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๊ฒฐ๊ตญ ApolloLink์ ๋ํ ๋ ๊ฐ์ง ์ ์๋ก ๋๋ฉ๋๋ค.
apollo-link-rest๊ฐ ํด๋ผ์ด์ธํธ๋ก ์ ํ ๋ ๋ ๋ก๋๋งต์ด ์์ต๋๊น? ๊ทธ๋ฆฌ๊ณ ๋ ์ค์ํ ๊ฒ์์ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
@GoranZic Apollo-client 3๊ณผ ํธํ๋๋ ๋ฐ ํ์ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ๋์์ด๋ ์ฌ์์ด ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๊ฒ ์ฐ๋ฆฌ๊ฐ ์ฐพ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๊น?
@benjamn @jbaxleyiii @hwillson โ ๋งํฌ๋ฅผ ApolloClient 3 ๋ฐ 2.x์ ๋์์ ์๋ฐฉํฅ / ์ญ๋ฐฉํฅ ํธํ๋๋๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํ ์ฌ์์ด ์์ต๋๊น?
์ด๊ฒ์ด ๋ด๊ฐ ์ฐพ์ ์์๋ ์ต๊ณ ์
๋๋ค.
๋ค์์ apollo-client์ ๊ด๋ จ ํ ์์ฒญ์
๋๋ค.
https://github.com/apollographql/apollo-client/pull/5412
๊ทธ๋ฆฌ๊ณ ๋ค์์ apollo-link ํ๋ก์ ํธ์ ๊ด๋ จ pull ์์ฒญ์
๋๋ค.
https://github.com/apollographql/apollo-link/pull/1158
์ค ์ฌ์ด๋ฅผ ์ฝ์ผ๋ฉด ์ฌ๊ธฐ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค :-(
@fbartho ํ์ํ ๋ณ๊ฒฝ ์ฌํญ์ ์๋นํ ์ต์ํ๋์ด์ผํฉ๋๋ค. apollo-link
, apollo-link-http
๋ฐ apollo-link-http-common
ํจํค์ง์ ๋ชจ๋ ํญ๋ชฉ์ ์ด์ @apollo/client
ํฉ๋๋ค. ์ฐ๋ฆฌ๋ @apollo/client
์๊ตฌ ์ฌํญ์ผ๋ก ์ธํด https://github.com/apollographql/apollo-link/pull/1158 ์ ๋ฉ์ด์ ๋ฒ์ ์์ ํจํค์ง๋ฅผ ๋ฒํ ํ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ apollo-client
๋ฅผ ๊ณ์ ์ฌ์ฉํ๋ ค๋ ์ฌ๋์ ์ด์ ๋งํฌ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ @apollo/client
๋ฅผ ์ฌ์ฉํ๋ ค๋ ์ฌ๋์ ์ ๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค.
@apollo/client
ํ์ํ ๋ณ๊ฒฝ ์ฌํญ์ ์๊ฐํ๋ PR์ ์ ์ถํ ์ ์์ต๋๋ค. ๊ด์ฐฎ์์ง ์๋๋ฉด ์ง์ ์กฐ์ฌํ๊ณ ์ถ์์ง ์๋ ค์ฃผ์ธ์.
์ด๋ค ๋ณํ๊ฐ ํ์ํ์ง ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค!
์์ง ๊ณต์์ ์ผ๋ก 1.0 ๋ฒ์ ์ผ๋ก ์ถ์๋์ง ์์๊ธฐ ๋๋ฌธ์ ์์ง๊น์ง ์ถ์ ๋ ์ํ์์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
ํํ-์ข๋ค์. ๊ณง PR์ ์ค๋นํ๊ฒ ์ต๋๋ค.
@fbartho ์ด ํจํค์ง๋ ์ฌ์ ํ 0.x.y
๋ฆด๋ฆฌ์ค์ด๋ฏ๋ก ์ฌ์ํ ์ถฉ๋๋ก ๋ธ๋ ์ดํน ์ฒด์ธ์ง๋ฅผ ์ํ ํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์ ์ ์๋๋ก ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฌธ์ํํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ๋๋ ^0.7.0
์ฌ์ฉํ๋ NPM์ด ์ด์จ๋ ํจ์น๋ฅผ ๋ฒํ์ํฌ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค.
@hwillson Migrating to Apollo Client 3.0์ ์ฝ์ ๋ ์ค์๊ฐ ์๋๋ผ๋ฉด apollo-link-rest ํจํค์ง๋ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ก์ธ์ค์์ ์ ์ธ๋์์ต๋๋ค. ๋น ์ง ์ด์ ๊ฐ ์๋์?
๋ํ ํผ๋์ค๋ฌ์ด ์ ์ apollo docs 3.0์์ import { RestLink } from '@apollo/link-rest';
ํด์ผํ๋ค๊ณ ๋ช
์ํ์ง๋ง npm
๋๋ apollo-link ์ ์ฅ์์ ํจํค์ง๊ฐ ์์ต๋๋ค.
๋ง์ด๊ทธ๋ ์ด์
๊ฐ์ด๋ @chrisber๋ฅผ ๊ฒํ ํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค! https://github.com/apollographql/apollo-link-rest/pull/241 ์ @apollo/client
๊ฐ ๋ผ์ด๋ธ ์ผ ๋ ๋ฆด๋ฆฌ์ค ๋ ์์ ์ด์ง๋ง apollo-link-rest
๋ ๋ง์ด๊ทธ๋ ์ด์
์์ ํน๋ณํ ํธ์ถ๋์ง ์์ต๋๋ค. ๊ฐ์ด๋๋ ํ์ฌ Apollo ํ์ฌ๊ฐ ๊ด๋ฆฌํ๋ ํ๋ก์ ํธ๋ฅผ ๋ค๋ฃจ๊ณ ์์ผ๋ฏ๋ก ๊ฐ์ด๋๋ฅผ ์งง๊ฒ ์ ์งํ๋ ๋ฐ ๋์์ด๋ฉ๋๋ค. ์ฆ, ๋น์ ์ด ์ณ๋ค๊ณ ์๊ฐํฉ๋๋ค-๊ทธ ์ธ๊ธฐ๋ก ์ธํด ์ฐ๋ฆฌ๋ ๊ฐ์ด๋์์ ์ธ๊ธํด์ผํฉ๋๋ค.
@apollo/link-rest
๋ฉ์
์ ์ค์์
๋๋ค! ์ฌ์ ํ apollo-link-rest
์ด์ด์ผํฉ๋๋ค. @apollo/link-X
๋ค์ ์คํ์ด์ค๋ Apollo ํ์ฌ์์ ์ ์ง ๊ด๋ฆฌํ๋ ํ๋ก์ ํธ์๋ง ์ฌ์ฉ๋ฉ๋๋ค. ๋ด๊ฐ ๊ณ ์ณ ์ค๊ฒ. ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
Apollo Client 3์ ํตํฉํ๊ธฐ ์ํด v0.8.0- ๋ฒ ํ ๋ฆด๋ฆฌ์ค ์งํ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
@cpsnowden ๋ฒ๊ทธ์ ๋ํ ํผ๋๋ฐฑ์ด๋ ๋ฒ ํ ๋น๋์ ์ฑ๊ณต์ ๋ํ ์ถฉ๋ถํ ํผ๋๋ฐฑ์๋ฐ์ง ๋ชปํ์ต๋๋ค.
๋ฒ ํ๋ฅผ ์ถ์ํ์ ๋, ApolloClient3์ ์ถ์์ผ์ด ๋ช ๋ฌ ๋์ ๋ค๋ก ๋ฐ๋ ค ๋ฌ๊ธฐ ๋๋ฌธ์ ๊ทธ ์๊ฐ ์ดํ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ๋์ง ์ ์ ์์ต๋๋ค.
์์ง ์ฌ์ฉํด ๋ณด์ จ๋์? ์ฐ๋ฆฌ ํ์ ๋ค์ ๋ฌ ์ ๋์ ApolloClient3๋ก ์ด์ ํ ์์ ์ด๋ฏ๋ก ๊ทธ ์ ์ ๋ฒ ํ์ ๋ํ ์ธ๋ถ ํผ๋๋ฐฑ์๋ฐ์ง ๋ชปํ๋ฉด ํ ์คํธ๋ฅผ ๊ฑฐ์ณ์ผํ๋ค๊ณ ์๊ฐํ์ต๋๋ค.
์๋ ํ์ธ์ @fbartho! ์ด ํฐ์ผ์ ๋ดค์ง๋ง ํผ๋๋ฐฑ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ค๋ ์ฌ์ค์ ๊นจ๋ซ์ง ๋ชปํ๊ฑฐ๋ ๋ ๋นจ๋ฆฌ ๋ง์ ๊ฑธ์์ ๊ฒ์ ๋๋ค. ๐
์ฐ๋ฆฌ ( SmugMug )๋ Apollo 3๊ณผ ํจ๊ป apollo-link-rest 0.8.0-beta.0์ ๋ช ๋ฌ ๋์ ์ฌ์ฉํด ์์ผ๋ฉฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์์ต๋๋ค! apollo-link-rest์ ๊ดํ ํ ๊ณ ํต์๋ ์ ๊ทธ๋ ์ด๋์์ผ๋ฉฐ ์์กฐ๋กญ๊ฒ ํญํดํ์ต๋๋ค.
์ข์ ์์์ ๋๋ค! ๊ฐ์ฌํฉ๋๋ค @rgrove!
๊ทธ๋์ ๊ฑฐ๊ธฐ์ @cpsnowden ์ด ์์ต๋๋ค. ๋ฒ ํ๋ ๊ฝค ์์ ์ ์ ๋๋ค : P
-๋ค์ ๋ฌ์ฏค์ ๊ณต์ ๋ฆด๋ฆฌ์ค์ ํ๊ทธ๋ฅผ ์ง์ ํ๊ณ ๋ฐฐ์กํ๊ฒ๋์ด ๊ธฐ์ฉ๋๋ค-์ด์ ํ์ ์ฐฉ์ ํ ๊ธฐ๋ฅ์ด์๋ ์ฌ๋์ด ์์ผ๋ฉด ๋ชจ๋ ๊ณต์์ ์ผ๋ก ํจ๊ป ์ถ์ ํ ์ ์์ต๋๋ค!
๋๋ฐ! ๋๋ถ์ ํผ๋๋ฐฑ์ ์ ๊ณตํ๋ ๋น ๋ฅธ ์๋ต ๋ฐ @rgrove์ ๋ํ @fbartho!
์ฐจ์์ผ๋ก-2020 ๋
8 ์๋ถํฐ ํญ์ ์ต์ Apollo์ ํจ๊ป v0.8.0-beta.0
์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๋ฌธ์ ๋ ์์์ต๋๋ค ๐
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ข์ ์์์ ๋๋ค! ๊ฐ์ฌํฉ๋๋ค @rgrove!
๊ทธ๋์ ๊ฑฐ๊ธฐ์ @cpsnowden ์ด ์์ต๋๋ค. ๋ฒ ํ๋ ๊ฝค ์์ ์ ์ ๋๋ค : P
-๋ค์ ๋ฌ์ฏค์ ๊ณต์ ๋ฆด๋ฆฌ์ค์ ํ๊ทธ๋ฅผ ์ง์ ํ๊ณ ๋ฐฐ์กํ๊ฒ๋์ด ๊ธฐ์ฉ๋๋ค-์ด์ ํ์ ์ฐฉ์ ํ ๊ธฐ๋ฅ์ด์๋ ์ฌ๋์ด ์์ผ๋ฉด ๋ชจ๋ ๊ณต์์ ์ผ๋ก ํจ๊ป ์ถ์ ํ ์ ์์ต๋๋ค!