反応性質問紙:楽観的な反応



問題


あなたは、反応とgraphqlであなたの新しいプロジェクトを始めます.それは超クール&あなたはそれを超高速にしようとしました.しかし、あなたのバックエンドはreaaaally低速であり、これらのすべてのローダは信じられないほど迷惑です.あなたはクライアント指向の開発者であり、この問題を解決するために最善を尽くしています.あなたがGraphqlを使用したので、楽観的なUIアプローチを使用することができます.

Official definition: Optimistic UI is a pattern that you can use to simulate the results of a mutation and update the UI even before receiving a response from the server. Once the response is received from the server, the optimistic result is thrown away and replaced with the actual result.


よく言えなかった.
だから我々はバックエンドは、応答をすぐにユーザーの視点から、すべての応答は即座に来るから送信をシミュレートします.

使い方


我々が突然変異を呼ぶとき、我々はさらにoptimisticResponseの特性を通過することもできて、我々がそれから何をしようとしているかについて説明することもできます.私たちが結局バックエンドから受け取るもの.以下に例を示します:
 updateComment({  
      variables: { commentId, commentContent },
      optimisticResponse: {  
          __typename: 'Mutation',  
          updateComment: {  
          id: commentId,  
              __typename: 'Comment',  
              content: commentContent,  
          },  
      },  
})
基本的に、あなたがこの突然変異を呼ぶとき、GraphSQLは即座に新しいデータでこのコメントのためにキャッシュを更新します.

また、データがバックエンドから到着するときに手動でキャッシュを更新することができますが、それは全く新しい話です.今のところ、この機能をチェックアウトし、コメントを書くにはどう思いますか.
詳細は、公式GraphQL documentationに行きます