Variables
์์ ์์์์ ์ฟผ๋ฆฌ ์ ์ธ์ $id
์ฌ๋ณผ์ด ์ฌ์ฉ๋์ด ์ฐธ์กฐ๊ฐ์ ํฌํจํ ์ ์์๋ค.
GraphQL ๋ณ์๋ ์ฟผ๋ฆฌ ์์์ ๋์ ์ธ ๊ฐ์ ์ฐธ์กฐํ ์ ์๋๋ก ํ๋ค. ์๋ฒ์์ ์ฟผ๋ฆฌ๋ฅผ ํจ์นํ ๋, ์ค์ ๊ฐ๋ค์ ์ธํธ๋ฅผ input์ผ๋ก ์ ๊ณตํ์ฌ ์ฟผ๋ฆฌ ๋ด์์ ์ ์ธ๋ ๋ณ์๋ก ํ์ฉํ ์ ์์ด์ผ ํ๋ค.
์์ ์์์์ ID!
๋ $id
๋ณ์์ ํ์
์ ์๋ฏธํ๋ค. ์ฌ๊ธฐ์ !
๋ ID
ํ์
๊ฐ์ด ํ์๋ก ์๊ตฌ๋๋ ํ๋๋ผ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋คํธ์ํฌ์ ์ฟผ๋ฆฌ ํจ์นญ์ ์์ฒญํ ๋, ์ฐ๋ฆฌ๋ ์ฟผ๋ฆฌ์ ํน์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ธฐ ์ํ ๋ณ์๋ฅผ ํจ๊ป ์ ๋ฌํด์ผ ํ๋ค.
์์ ์ฟผ๋ฆฌ์ ๋ณ์๋ฅผ ํจ์นญํ๋ฉด ์๋ฒ๋ ๋ค์๊ณผ ๊ฐ์ ์๋ต์ ๊ฐ์ ธ์จ๋ค:
input์ผ๋ก ์ฐ์ธ
id
๋ณ์ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด ๋น์ฐํ, ๋ค๋ฅธ ์๋ต์ด ๋์์จ๋ค.
ํ๋๊ทธ๋จผํธ๋ ์ฟผ๋ฆฌ์์ ์ ์ํ ๋ณ์๋ฅผ ์ฐธ์กฐํ ์ ์๋ค.
์์ ํ๋๊ทธ๋จผํธ์์
$scale
๋ณ์๋ฅผ ์ง์ ์ ์ํ์ง ์์๋, ์ฌ์ ํ ์ฐธ์กฐ๊ฐ ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ํด๋น ํ๋๊ทธ๋จผํธ๋ฅผ ์ง๋ ์ฟผ๋ฆฌ๋ ์ง์ ์ ์ด๋ ๊ฐ์ ์ ์ด๋ ๋ฌด์กฐ๊ฑด ๋ณ์์ ๊ทธ์ ํ์ ์ ์ ์ํด์ผ ํ๋ค. (์ด๋ฌ์ง ์์ผ๋ฉด ์๋ฌ ์์ฑ)์ฆ, ์ฟผ๋ฆฌ ๋ณ์๋ ํด๋น ์ฟผ๋ฆฌ์ ํ์์ธ ์ด๋ค ํ๋๊ทธ๋จผํธ์์๋ globally ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
์ ์ญ ๋ณ์๋ฅผ ์ฐธ์กฐํ๋ ํ๋๊ทธ๋จผํธ๋ ํด๋น ์ ์ญ ๋ณ์๋ฅผ ์ ์ํ ์ฟผ๋ฆฌ ๋ด์๋ง ์กด์ฌ ๊ฐ๋ฅํ๋ค.
Relay์์๋ ์ปดํฌ๋ํธ ๋ด์์ ํ๋๊ทธ๋จผํธ๋ฅผ ์ ์ํ ์ ์ฟผ๋ฆฌ ๋ณ์๋ฅผ ์ฐธ์กฐํ ์ ์๋ค.:
์์ ํ๋๊ทธ๋จผํธ๋ ๋ค๋์ ์ฟผ๋ฆฌ์ ํฌํจ๋๊ณ ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ์ํด ๋ ๋๋ง ๋ ์ ์๋๋ฐ, ์ด๋ ์์ ํ๋๊ทธ๋จผํธ๋ฅผ ๋ ๋๋งํ๋/ ํฌํจํ๋ ์ฟผ๋ฆฌ๋ ๋ฐ๋์
$scale
๋ณ์๋ฅผ ์ ์ํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.๋ง์ฝ ์์ ํ๋๊ทธ๋จผํธ๋ฅผ ํฌํจํ๋ ์ฟผ๋ฆฌ๊ฐ
$scale
๋ณ์๋ฅผ ์ ์ํ์ง ์์ ๊ฒฝ์ฐ, ๋น๋ ํ์ ๋ Relay ์ปดํ์ผ๋ฌ์ ์ํด ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ฉฐ, ์ด๋ ์๋ชป๋ ์ฟผ๋ฆฌ๋ ์ ๋ ์๋ฒ์ ์ ์ก๋์ง ์๋๋ค๋ ๊ฒ์ ๋ณด์ฅํ๋ค. (๋ณ์ ์ ์ธ์ด ๋น ์ง ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด๋ ๊ฒ์ ์๋ฒ์์ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค.)
@arguments and @argumentDefinitions
ํ์ง๋ง, ์ ์ญ ๋ณ์๋ฅผ ํฌํจํ๋ฉด์ ์ฟผ๋ฆฌ์ ๋ถํผ๊ฐ ์ปค์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด, Relay๋ ์ง์ญ์ ์ผ๋ก ๋ณ์๋ฅผ ์ ์ธํ์ฌ ํ๋๊ทธ๋จผํธ์ ์ข
์๋๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค. ์ด๋ @arguments
์ @argumentDefinitions
directive๋ฅผ ์ฌ์ฉํ๋ค.:
@arguments
๋ฅผ ํ๋๊ทธ๋จผํธ์ ์ ๋ฌํ ๋, ๋ฆฌํฐ๋ด ๋ณ์๋ ๋ค๋ฅธ ๋ณ์๋ฅผ ์ ๋ฌํ ์๋ ์๋ค. ์ด๋ ์ ์ญ ์ฟผ๋ฆฌ ๋ณ์๊ฐ ๋ ์๋ ์๊ณ ,@argumentDefinitions
๋ก ์ ์ธํ ๋ค๋ฅธ ์ง์ญ ๋ณ์๊ฐ ๋ ์๋ ์๋ค.PictureComponent_user
์ ์ฟผ๋ฆฌ์ ์ผ๋ถ๋ก ์ง์ ํจ์นํ ๊ฒฝ์ฐ,profile_picture
ํ๋์ ์ ๋ฌ๋๋scale
๋ณ์๋ ๋ถ๋ชจ์ธPictureComponent_user
๋ก๋ถํฐ ์ ๊ณต๋ฐ๋ ์ธ์์ ์์กดํ๋ค.UserComponent_user
๋ฅผ ์ํ$scale
: 2.0OtherUserComponent_user
๋ฅผ ์ํ$scale
: ์ฟผ๋ฆฌ๋ฅผ ํจ์นํ ๋ ์๋ฒ์ ๋ณด๋ด๋$pictureScale
๋ณ์ ๊ฐ
์ธ์๊ฐ์ด ํ์ํ ํ๋๊ทธ๋จผํธ์๋ ๊ธฐ๋ณธ ๊ฐ์ ์ ์ํ ์ ์๋๋ฐ, ์ด๋ก์จ ์ธ์๊ฐ์ optionalํ๊ฒ ์ค์ ํ ์ ์๋ค.:
PictureComponent_user
์ ์ธ์๋ฅผ ์ ๋ฌํ์ง ์์ ๊ฒฝ์ฐ ์ง์ญ๋ณ์๋ก ์ ์ํ$scale
์๋ ๊ธฐ๋ณธ๊ฐ์ธ 2.0์ด ํ ๋น๋๋ค.
Accessing GraphQL Variables At Runtime
๋ฃจํธ ์ฟผ๋ฆฌ์ ์ธํ ๋ ๋ณ์์ ์ ๊ทผํ๊ณ ์ถ์ ๊ฒฝ์ฐ, props๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ์ปดํฌ๋ํธ ํธ๋ฆฌ๋ ์ดํ๋ฆฌ์ผ์ด์ ๋ง์ ๊ณ ์ ํ context์ ๋ณ์๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ์ ์ถ์ฒํ๋ค.
Relay๋ argument definitions๋ฅผ ์ ์ฉํ ์ดํ, ํน์ ํ๋๊ทธ๋จผํธ์ ํ ๋น๋๋ resolved๋ ๋ณ์๋ฅผ ๋๋ฌ๋ด์ง ์๋๋ฐ, ์ด๋ฅผ ๋ฐ๋ก ์ ์ํด์ผํ๋ ๊ฒฝ์ฐ๋ ๋ณ๋ก ์๋ค.
Last updated