Skip to content

Releases: remix-run/react-router

[email protected]

31 Aug 20:55
c9b343b
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

Patch Changes

[email protected]

02 Aug 14:18
12f3bd3
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

Patch Changes

  • c3406eb: fix: Rename <Deferred> to <Await> (#9095)

    • We are no longer replacing the Promise on loaderData with the value/error
      when it settles so it's now always a Promise.
    • To that end, we changed from <Deferred value={promise}> to
      <Await resolve={promise}> for clarity, and it also now supports using
      <Await> with raw promises from anywhere, not only those on loaderData
      from a defer() call.
      • Note that raw promises will not be automatically cancelled on interruptions
        so they are not recommended
    • The hooks are now useAsyncValue/useAsyncError
  • Updated dependencies

[email protected]

02 Aug 14:18
12f3bd3
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

Patch Changes

[email protected]

02 Aug 14:18
12f3bd3
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

Patch Changes

[email protected]

02 Aug 14:18
12f3bd3
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

Patch Changes

@remix-run/[email protected]

02 Aug 14:18
12f3bd3
Compare
Choose a tag to compare
Pre-release

Patch Changes

  • c3406eb: fix: Rename <Deferred> to <Await> (#9095)

    • We are no longer replacing the Promise on loaderData with the value/error
      when it settles so it's now always a Promise.
    • To that end, we changed from <Deferred value={promise}> to
      <Await resolve={promise}> for clarity, and it also now supports using
      <Await> with raw promises from anywhere, not only those on loaderData
      from a defer() call.
      • Note that raw promises will not be automatically cancelled on interruptions
        so they are not recommended
    • The hooks are now useAsyncValue/useAsyncError

[email protected]

22 Jul 15:52
eb39f7d
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

Patch Changes

  • feat: Deferred API Updates (#9070)

    • Removes <Suspense> from inside <Deferred>, requires users to render their own suspense boundaries
    • Updates Deferred to use a true error boundary to catch render errors as well as data errors
    • Support array and single promise usages
      • return deferred([ await critical(), lazy() ])
      • return deferred(lazy())
    • Remove Deferrable/ResolvedDeferrable in favor of raw Promise's and Awaited
    • Remove generics from useDeferredData until useLoaderData generic is decided in 6.5
  • Updated dependencies

[email protected]

22 Jul 15:52
eb39f7d
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

Patch Changes

[email protected]

22 Jul 15:52
eb39f7d
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

Patch Changes

  • SSR Updates for React Router (#9058)

    Note: The Data-Router SSR aspects of @remix-run/router and react-router-dom are being released as unstable in this release (unstable_createStaticHandler and unstable_DataStaticRouter), and we plan to finalize them in a subsequent minor release once the kinks can be worked out with the Remix integration. To that end, they are available for use, but are subject to breaking changes in the next minor release.

    • Remove useRenderDataRouter() in favor of <DataRouterProvider>/<DataRouter>
    • Support automatic hydration in <DataStaticRouter>/<DataBrowserRouter>/<DataHashRouter>
      • Uses window.__staticRouterHydrationData
      • Can be disabled on the server via <DataStaticRouter hydrate={false}>
      • Can be disabled (or overridden) in the browser by passing hydrationData to <DataBrowserRouter>/<DataHashRouter>
    • <DataStaticRouter> now tracks it's own SSR error boundaries on StaticHandlerContext
    • StaticHandlerContext now exposes statusCode/loaderHeaders/actionHeaders
    • foundMissingHydrationData check removed since Remix routes may have loaders (for modules) that don't return data for loaderData
  • Updated dependencies

[email protected]

22 Jul 15:52
eb39f7d
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

Patch Changes