Skip to content

Commit

Permalink
Merge branch 'v7' into brophdawg11/remove-detect-error-boundary
Browse files Browse the repository at this point in the history
  • Loading branch information
brophdawg11 committed Jul 1, 2024
2 parents e2822b9 + 0457dbe commit 44f5bd7
Show file tree
Hide file tree
Showing 27 changed files with 208 additions and 2,971 deletions.
12 changes: 12 additions & 0 deletions .changeset/chilled-masks-search.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
"react-router-dom": major
"react-router": major
---

Remove the original `defer` implementation in favor of using raw promises via single fetch and `turbo-stream`. This removes these exports from React Router:

- `defer`
- `AbortedDeferredError`
- `type TypedDeferredData`
- `UNSAFE_DeferredData`
- `UNSAFE_DEFERRED_SYMBOL`,
6 changes: 3 additions & 3 deletions integration/client-data-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -318,13 +318,13 @@ test.describe("Client Data", () => {
}),
"app/routes/parent.child.tsx": js`
import * as React from 'react';
import { defer, json } from "react-router"
import { json } from "react-router"
import { Await, useLoaderData } from "react-router"
export function loader() {
return defer({
return {
message: 'Child Server Loader',
lazy: new Promise(r => setTimeout(() => r("Child Deferred Data"), 1000)),
});
};
}
export async function clientLoader({ serverLoader }) {
let data = await serverLoader();
Expand Down
12 changes: 6 additions & 6 deletions integration/defer-loader-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,23 +28,23 @@ test.describe("deferred loaders", () => {
`,

"app/routes/redirect.tsx": js`
import { defer } from "react-router";
export function loader() {
return defer({food: "pizza"}, { status: 301, headers: { Location: "/?redirected" } });
export function loader({ response }) {
response.status = 301;
response.headers.set("Location", "/?redirected");
return { food: "pizza" };
}
export default function Redirect() {return null;}
`,

"app/routes/direct-promise-access.tsx": js`
import * as React from "react";
import { defer } from "react-router";
import { useLoaderData, Link, Await } from "react-router";
export function loader() {
return defer({
return {
bar: new Promise(async (resolve, reject) => {
resolve("hamburger");
}),
});
};
}
let count = 0;
export default function Index() {
Expand Down
Loading

0 comments on commit 44f5bd7

Please sign in to comment.