yunseop kim
01/13/2021, 5:33 AMTony Won
yunseop kim
01/13/2021, 5:37 AMyunseop kim
01/13/2021, 5:40 AMIf you're using Next.js 9.3 or newer, we recommend that you use getStaticProps or getServerSideProps instead of getInitialProps.
곶통받는 중입니다....ㅋㅋㅋ박준혁
01/13/2021, 5:44 AMyunseop kim
01/13/2021, 5:44 AMyunseop kim
01/13/2021, 5:45 AM두번 동일한 쿼리를 호출
-> 두번 동일한 쿼리를 작성
으로 정정합니다 (_ _)Tony Won
박준혁
01/13/2021, 5:52 AMgetServerSideProps
에서 네트워크 콜 후에 해당 데이터를 아폴로 캐시에 하이드레이션 시키고 컴포넌트에서 같은 쿼리를 호출해서 캐시스토어의 데이터를 사용하는 식이에용~박준혁
01/13/2021, 5:53 AMgetServerSideProps
api 자체가 서버사이드에서만 실행되다보니 CSR에서 네트워크콜을 위한 쿼리도 필요하긴 한 상황입니다 🙂Tony Won
Hyeseong Kim
01/13/2021, 6:01 AM또이잉... 두번 작성해야되나요?? Apollo는 getDataFromTree 하면 안되나요?아뇨 ㄱ냥 문서대로 쓰면 돼용 https://www.apollographql.com/docs/react/performance/server-side-rendering/#executing-queries-with-getdatafromtree
Hyeseong Kim
01/13/2021, 6:04 AMHyeseong Kim
01/13/2021, 6:04 AMHyeseong Kim
01/13/2021, 6:06 AMHyeseong Kim
01/13/2021, 6:08 AMHyeseong Kim
01/13/2021, 6:11 AMHyeseong Kim
01/13/2021, 6:12 AMHyeseong Kim
01/13/2021, 6:12 AM박준혁
01/13/2021, 6:34 AMgerServerSideProps
에서 데이터페칭한 응답을 컴포넌트에 주입하는 식으로 하고, 데이터 페칭을 위한 인풋이 인터랙션으로 바뀌는경우 url 패스를 변경하는 식으로 하면, 클라이언트 사이드에서 쿼리를 중복으로 작성하는 일을 없앨 수 있을 것 같습니당.
현재 고민은 이런방식으로 했을 때, 클라이언트 사이드에서의 뮤테이션 이후의 캐시스토어 업데이트를 반영할 수 있는가? 인데 제 지식으로는 내에서 생각해보면 안될 것 같아용 😞 페이지단에서 아폴로 캐시스토어에서 데이터를 가져오는 것이 아니라 서버사이드에서 주입한 데이터로만 렌더링을 하고있어서 이렇게 생각이 듭니당!박준혁
01/13/2021, 6:35 AM박준혁
01/13/2021, 6:40 AM박준혁
01/13/2021, 6:41 AMgetDataFromTree
를 사용해서 아폴로 캐시 스토어 데이터를 찾아서 컴포넌트의 주입해주는걸 말씀하시는거죠?? 그래서 HoC로 만들어서 하는거구요... 이해는 갔는데....Tony Won
Hyeseong Kim
01/13/2021, 6:48 AMHyeseong Kim
01/13/2021, 6:49 AMHyeseong Kim
01/13/2021, 6:53 AMconst MyQuery = makeQuery(graphql`
query MyQuery { ... }
`);
function MyComponent({ preloadedData }) {
const { data } = MyQuery.use(...);
};
export default MyComponent;
export async function getServerSideProps() {
const preloadedData = await MyQuery.preload(...);
return {
props: { preloadedData },
};
};
Hyeseong Kim
01/13/2021, 6:54 AM박준혁
01/13/2021, 6:54 AMTony Won
yunseop kim
01/13/2021, 7:31 AM