Skip to content

Commit 2aebe73

Browse files
authored
Merge pull request #7 from pomber/experimental
Use new suspense API
2 parents 3de41a0 + 8e99b4a commit 2aebe73

File tree

123 files changed

+5200
-28518
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+5200
-28518
lines changed

.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
node_modules
22
/dist
3-
npm-debug.log*
3+
npm-debug.log*
4+
5+
dist
6+
.cache

examples/movies/.eslintrc

-3
This file was deleted.

examples/movies/.gitignore

-21
This file was deleted.

examples/movies/LICENSE

-21
This file was deleted.
File renamed without changes.

examples/movies/app.js

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import React from "react";
2+
import { lazy } from "hitchcock";
3+
import { Spinner } from "./spinner";
4+
import { MovieListPage } from "./movie-list-page";
5+
6+
const MoviePage = lazy(() => import("./movie-page"), "MoviePage");
7+
8+
const App = () => {
9+
const [currentId, setCurrentId] = React.useState(null);
10+
const deferredCurrentId = React.useDeferredValue(currentId, {
11+
timeoutMs: 3000
12+
});
13+
14+
const handleMovieClick = id => {
15+
setCurrentId(id);
16+
};
17+
18+
const handleBackClick = () => {
19+
setCurrentId(null);
20+
};
21+
22+
const showDetail =
23+
deferredCurrentId !== null && currentId === deferredCurrentId;
24+
25+
return (
26+
<React.Suspense fallback={<Spinner />}>
27+
{!showDetail ? (
28+
<MovieListPage onMovieClick={handleMovieClick} loadingId={currentId} />
29+
) : (
30+
<div>
31+
<button className="onBack" onClick={handleBackClick}>
32+
{"👈"}
33+
</button>
34+
<MoviePage id={deferredCurrentId} />
35+
</div>
36+
)}
37+
</React.Suspense>
38+
);
39+
};
40+
41+
export default App;

examples/movies/config/env.js

-93
This file was deleted.

examples/movies/config/jest/cssTransform.js

-14
This file was deleted.

examples/movies/config/jest/fileTransform.js

-12
This file was deleted.

examples/movies/config/paths.js

-56
This file was deleted.

examples/movies/config/polyfills.js

-22
This file was deleted.

0 commit comments

Comments
 (0)