關於昨天的 project ,發現有些太貪心了...一天之內完全不可能講完,所以先放上 CodeSandbox 範例,最後的成果如下:
有興趣的可以自己去 trace code ,這邊特別提到幾點:
WithUser
跟 RequireAuth
login
mutation 做完後,要做 refetchQueries
來取得 CURRENT_USER
,這時候要記得把得到的 token 放進 local storage 再做 query ,這樣送出的 request 才能成功得到結果。在 CURRENT_USER
的 query 成功後, Apollo Client 會自動去更新 Cache ,也去 rerender 一些會需要登入使用者資料的 component 。終於來到了尾聲,剛開始雖然寫得得心應手,但一篇也是花了 2 到 3 小時才生出來。而中期發現其實很多概念我自己也沒有到很清楚,很多時候都是邊學邊打文章、寫完程式 de 完 bug 後才有辦法生出文章。到最後面竟然還不自量力地挑戰了完全不熟的 Apollo Client ,更何況我本來就對前端和 React 不太熟悉... 。
不過還是很感謝大家這幾天來的觀看!之後我還會花時間回去把各篇文章 (尤其是教學文)再修飾一下,順便加上程式範例!希望這一系列的文章可以幫助使用中文的人接觸 GraphQL 的技術!
最後附上一些推薦的資源: