APIサーバをRESTで書くとルーティングを増やしたりqueryにパラメータ追加したりという諸々の作業が面倒くさいので最近はGraphQLで書いているが、個人的にフロントエンドはJSXとredux-sagaで秩序を保ちたい派なので、クライアントサイドはデータのfetchにだけGraphQL(Apollo)を使ってますという話。
さんぷる(github)
ほとんどredux-sagaテンプレートのままなのでclockとcounter処理をそのまま置いてあるかつcounterコンポーネントに追加してるあたりがアレなんですが、サンプルということで悪しからず。
クライアントサイドのクエリはここに書いていて、サーバサイドはここで型定義して、ここで処理をハンドリングしてる。
GraphQLはエンドポイント(?)をメソッド感覚でぽこぽこ追加できるところがいい。一方でドキュメントが少ないので取り組みづらさみたいなものはある。
react-apolloとredux-sagaって綺麗に共存できるんですかね、できたら最高なんですけど、redux-sagaは手放せないのでapolloだけというのは個人的にはキツそう。
キャッシュ...