API(Graphql)に関する参考URL
subscriptionとmutationの機能の違いがわかった。subscriptionって、要は、「いいねボタン」とその通知みたいなもんで、押したら、フォローしている人全員に通知がいく、というようなことのために使うんだってことがわかった。
この考え方は、Udemyの「AWS AppSync & Amplify with React & GraphQL - 完全ガイド」のセクション20での説明が、以下のどのリンク記事よりもわかりやすかった。
GraphQLにおけるSubscription処理について(実装例: Amplify + AppSync)
@auth認証の書き方のルールはあちこちに影響する。
まずはschemaだ。所有者か、管理者か、それ以外か、そしてオプションか、オペレーションはどれにするか、この区別が必要。
そして、大切なのが、フロントエンドでqueryやmutationする場合。要は、パラメーターに「authMode: 'AMAZON_COGNITO_USER_POOLS'」が必要になる。
一覧をqueryする場合の、絞り込みの仕方。結論はフロントエンドのパラメーターに「filter」が必要。
さらに、そのfilterに対しても、ルールがある。これも、AppSyncを使えばわかる。
How to Filter List/Queries With AND/OR operators AWS Amplify JavaScript GraphQL
【Next.js, Amplify, GraphQL】 一覧データ取得と絞り込み方法
Create real-time applications via serverless WebSockets with new AWS AppSync GraphQL subscriptions filtering capabilities(AWS blog)
Enhanced subscription filtering(AWS)
Fetch data(公式)
Amplifyのgraphqlでqueryなりmutationなりするときの、フロントエンド側のコードの呼び出し順。地味にこれが守られてないとエラーになる。
graphqlを非同期でラップしてuseEffectで副作用している関数で独立して一つ作り、それを一度変数に入れ、それをステートに入れ、それをuseEffectの副作用で実行する、という順が大切。
その他、AmplifyのGraphQLがらみの気になる記事として
Advanced Workflows(公式 複雑な構成のとき)
DataStore with Amplify(公式 サーバーを使わずローカルでのデータストアってやつらしい)
Reactで、細かい部分でのイベントの型の違い。
Next.jsで、ページのみのカスタムフォントは禁止らしい。