_apollo-link-batch-http_๋ฅผ ์ฌ์ฉํ๋ฉด ํน์ ์๊ฐ ๊ฐ๊ฒฉ์ ๋ชจ๋ ์์ฒญ์ด ์ผ๊ด์ ์ผ๋ก ํธ์ถ๋ฉ๋๋ค. ์ฐ๋ฆฌ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ๋๋ถ๋ถ์ ์์ฒญ์ด ๋น ๋ฅด์ง๋ง ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ๋ ์์ฒญ๋ ์์ต๋๋ค. ์๋ ค์ง ๋๋ฆฐ ์์ฒญ์ ๋ค๋ฅธ ์์ฒญ๊ณผ ์ผ๊ด ์ฒ๋ฆฌํ๋ฉด ์ด์ ๋ชจ๋ ์์ฒญ์ด ๊ฐ์ฅ ๋๋ฆฐ ์์ฒญ๊ณผ ๋์ผํ ์๋ต ์๊ฐ์ ๊ฐ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ๊ฒฝํ์ด ์ ํ๋ฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์์ฒญ์ด ์ฆ์ ์ผ๊ด ์ฒ๋ฆฌ๋์ด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ ์ ์๋ ์ฝ๋ฐฑ์ด ์์ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
๋ถํ ๋ก ํ ์ ์์ต๋๋ค.
__links.js__
const batchHttpLink = new BatchHttpLink({
fetch: createApolloFetch({
constructOptions,
uri: process.env.REACT_APP_API_ENDPOINT,
}),
})
const normalHttpLink = createHttpLink({
uri: '/graphql',
credentials: 'same-origin',
})
export split(({getContext}) => getContext().noBatch, normalHttpLink, batchHttpLink)
์ผ๊ด ๋งํฌ๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ฟผ๋ฆฌ ๋ง๋ค๊ธฐ
const ProfileWithData = graphql(CurrentUserForLayout, {
options: {
context: { noBatch: true }
},
})(Profile);
์ฌ๊ธฐ์์ ์ปจํ
์คํธ์์ noBatch
๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์ผ๊ด ์ฒ๋ฆฌํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ฟผ๋ฆฌ๋ ์ผ๊ด ์ฒ๋ฆฌ๋ฉ๋๋ค.
@charleyw ์ ์์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ด ๋ ๊ฒ
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ถํ ๋ก ํ ์ ์์ต๋๋ค.
__links.js__
์ผ๊ด ๋งํฌ๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ฟผ๋ฆฌ ๋ง๋ค๊ธฐ
์ฌ๊ธฐ์์ ์ปจํ ์คํธ์์
noBatch
๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์ผ๊ด ์ฒ๋ฆฌํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ฟผ๋ฆฌ๋ ์ผ๊ด ์ฒ๋ฆฌ๋ฉ๋๋ค.