Small Changes

週刊ニュース Lv9(2023年1月14日~2023年1月20日)


Metadata


今週もいつも通り淡々とやりたいことを進めていました。今週も振り返っていきましょう。

1月14日(土)

Apollo Clientと@graphql-codegen/typescript-react-apolloと仲良くなった

  • 以前、諦めたのですがやっぱり気になって色々調べてみました。

  • Apollo Clientの方向性では難しいと思いつつ調べていると、ほぼ同じ悩みの記事を見つけました。

  • 記事では、@graphql-codegen/typescript-react-apolloのapolloReactHooksImportFromを使いcodegenで自動生成されるhooksを独自のhooksを使うことで解消していました。

  • 色々省略するのですが、codegenすると生成されるhooks内部ではApolloから下記を呼び出しているようでした。

    • Apollo.MutationHookOptions

    • Apollo.useMutation

    • Apollo.QueryHookOptions

    • Apollo.useQuery

    • Apollo.LazyQueryHookOptions

    • Apollo.useLazyQuery

  • このApollo部分がApolloReactHooksに置き換わるので、ApolloReactHooksで使えるようにする必要がありそうなことがわかりました。

  • ここまで調べたり、試してみて実装できそうなことはわかったのですが、思った以上に対応に時間がかかりそうだと思い、以前諦めたApollo Clientについては実装をしっかり見れていなかったのでコードを読んだりしてこの日は力尽きました。

1月15日(日)

特になし

1月16日(月)

attr_accessorのセッターを使って値をセットしようとしてもセットされない

  • まさに下記の記事と同じ内容でした。Formオブジェクト内でattr_accessorのセッターを使って値をセットしようとしてもセットできませんでしたが、selfをつけるとセッターと認識し値をセットできました。

  • https://ysk-pro.hatenablog.com/entry/attr_accessor

1月17日(火)

報告が苦手だなと思った

  • アジャイルの現場なので毎朝デイリースクラムがあり、そこで各自やったこと、やること共有するのですが報告が上手い人は内容が整理されていてぱっと状態を把握できるのですごいと思いました。

メールクライアントで送信者名を表示させる

1月18日(水)

@graphql-codegen/typescript-react-apollo + react-routerを組み合わせてエラー内容に合わせてコンポーネントを出し分けする

  • フロントが得意な人の力を借りることでGraphQLリクエストで404エラーを受け取ったときにエラー用コンポーネントを表示するという土台を構築することができました。

  • エラーをthrowする部分については、@graphql-codegen/typescript-react-apolloのapolloReactHooksImportFromを使いcodegenで自動生成されるhooksを独自のhooksを使うことで実現しました。

  • エラーをcatchする部分については、react-routerv6.4から導入されたerrorElement機能を使ってrouter内のエラーをcatchしたらerrorElementで対応するエラー用コンポーネントを表示するようにしました。

  • エラーをthrowする部分がApollo Clientを使うとonErrorを使ってthrowしても内部で握りつぶされていたりで共通化のボトルネックとなっていましたが、@graphql-codegen/typescript-react-apolloのapolloReactHooksImportFromのおかげで実現することができました。

  • @graphql-codegen/typescript-react-apolloのapolloReactHooksImportFromはとても便利なのでぜひ活用してみてください。

1月19日(木)

特になし

1月20日(金)

Ruby3.2へのバージョンアップ

References