Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

v3.13.0

Compare
Choose a tag to compare
Loading
@github-actionsgithub-actions released this 13 Feb 17:11
· 50 commits to main since this release
e93d19f
This commit was created on GitHub.com and signed with GitHub’sverified signature.
GPG key ID:B5690EEEBB952194
Verified
Learn about vigilant mode.

Apollo Client v3.13.0 introduces a new hook,useSuspenseFragment, as a drop-in replacement foruseFragment in apps that are using React Suspense. This is the “last” React hook we are introducing in 3.x - we think this rounds out the “big concepts” in our React Suspense and GraphQL fragment story. See thedocs for information on this and our other Suspense-supporting hooks. There are some TypeScript quality-of-life improvements shipped in this release forobservableQuery.updateQuery andsubscribeToMore. Additionally, the return type ofupdateQuery now includesundefined to allow an early exit from updates. This was always supported at runtime, but was missed on the TypeScript side. On the runtime side, we’ve fixed query deduplication behavior for multipart responses and corrected the error handling inuseMutation callbacks.onCompleted andonError inuseQuery anduseLazyQuery have been deprecated for multiple reasons. See below for full details 👀

Minor Changes

  • #12066c01da5d Thanks@jerelmiller! - Adds a newuseSuspenseFragment hook.

    useSuspenseFragment suspends untildata is complete. It is a drop-in replacement foruseFragment when you prefer to use Suspense to control the loading state of a fragment. See thedocumentation for more details.

  • #12174ba5cc33 Thanks@jerelmiller! - Ensure errors thrown in theonCompleted callback fromuseMutation don't callonError.

  • #12340716d02e Thanks@phryneas! - Deprecate theonCompleted andonError callbacks ofuseQuery anduseLazyQuery.
    For more context, please see therelated issue on GitHub.

  • #12276670f112 Thanks@Cellule! - Provide a more type-safe option for the previous data value passed toobservableQuery.updateQuery. Using it could result in crashes at runtime as this callback could be called with partial data even though its type reported the value as a complete result.

    TheupdateQuery callback function is now called with a new type-safepreviousData property and a newcomplete property in the 2nd argument that determines whetherpreviousData is a complete or partial result.

    As a result of this change, it is recommended to use thepreviousData property passed to the 2nd argument of the callback rather than using the previous data value from the first argument since that value is not type-safe. The first argument is now deprecated and will be removed in a future version of Apollo Client.

    observableQuery.updateQuery((unsafePreviousData,{ previousData, complete})=>{previousData;// ^? TData | DeepPartial<TData> | undefinedif(complete){previousData;// ^? TData}else{previousData;// ^? DeepPartial<TData> | undefined}});
  • #12174ba5cc33 Thanks@jerelmiller! - Reject the mutation promise if errors are thrown in theonCompleted callback ofuseMutation.

Patch Changes

  • #12276670f112 Thanks@Cellule! - Fix the return type of theupdateQuery function to allow forundefined.updateQuery had the ability to bail out of the update by returning a falsey value, but the return type enforced a query value.

    observableQuery.updateQuery((unsafePreviousData,{ previousData, complete})=>{if(!complete){// Bail out of the update by returning earlyreturn;}// ...});
  • #122962422df2 Thanks@Cellule! - Deprecate optionignoreResults inuseMutation.
    Once this option is removed, existing code still using it might see increase in re-renders.
    If you don't want to synchronize your component state with the mutation, please useuseApolloClient to get your ApolloClient instance and callclient.mutate directly.

  • #1233867c16c9 Thanks@phryneas! - In case of a multipart response (e.g. with@defer), query deduplication will
    now keep going until the final chunk has been received.

  • #12276670f112 Thanks@Cellule! - Fix the type of thevariables property passed as the 2nd argument to thesubscribeToMore callback. This was previously reported as thevariables type for the subscription itself, but is now properly typed as the queryvariables.

Assets2
Loading
jerelmiller reacted with hooray emoji
1 person reacted

[8]ページ先頭

©2009-2025 Movatter.jp