Skip to content

Commit 11418dc

Browse files
committed
fix: simplify lazy
1 parent 621ccae commit 11418dc

File tree

2 files changed

+13
-28
lines changed

2 files changed

+13
-28
lines changed
Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,22 @@
1-
import { lazy, Suspense } from 'preact/compat';
2-
import { useMemo } from 'preact/hooks';
1+
import { useState, useEffect } from 'preact/hooks';
32

43
import AnnouncementBanner from './AnnouncementBanner.jsx';
54
import { loadBanners } from './loadBanners.mjs';
65

7-
/**
8-
* @param {{ remoteConfig: string, versionMajor: number | null }} props
9-
*/
10-
const RemoteLoadableBanner = ({ remoteConfig, versionMajor }) => {
11-
const LazyBanners = useMemo(
12-
() =>
13-
lazy(async () => {
14-
const active = await loadBanners(remoteConfig, versionMajor);
6+
import { remoteConfig, versionMajor } from '#theme/config';
157

16-
if (!active.length) {
17-
return { default: () => null };
18-
}
8+
const RemoteLoadableBanner = () => {
9+
const [banners, setBanners] = useState([]);
1910

20-
return { default: () => <AnnouncementBanner banners={active} /> };
21-
}),
22-
// eslint-disable-next-line react-x/exhaustive-deps
23-
[]
24-
);
11+
useEffect(() => {
12+
loadBanners(remoteConfig, versionMajor).then(active => {
13+
if (active.length) {
14+
setBanners(active);
15+
}
16+
});
17+
}, []);
2518

26-
return (
27-
<Suspense fallback={null}>
28-
<LazyBanners />
29-
</Suspense>
30-
);
19+
return banners.length ? <AnnouncementBanner banners={banners} /> : null;
3120
};
3221

3322
export default RemoteLoadableBanner;

src/generators/web/ui/components/Layout/index.jsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import Article from '@node-core/ui-components/Containers/Article';
33

44
import RemoteLoadableBanner from '../AnnouncementBanner';
55

6-
import { remoteConfig, versionMajor } from '#theme/config';
76
import Footer from '#theme/Footer';
87
import MetaBar from '#theme/Metabar';
98
import NavBar from '#theme/Navigation';
@@ -20,10 +19,7 @@ import SideBar from '#theme/Sidebar';
2019
*/
2120
export default ({ metadata, headings, readingTime, children }) => (
2221
<>
23-
<RemoteLoadableBanner
24-
remoteConfig={remoteConfig}
25-
versionMajor={versionMajor}
26-
/>
22+
<RemoteLoadableBanner />
2723
<NavBar metadata={metadata} />
2824
<Article>
2925
<SideBar metadata={metadata} />

0 commit comments

Comments
 (0)