Skip to content

Commit a40806a

Browse files
authored
Prevent duplicate render of the initial page in React (#2377)
1 parent 8f1f0d4 commit a40806a

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

packages/react/src/App.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ export default function App({
1313
titleCallback,
1414
onHeadUpdate,
1515
}) {
16+
let currentIsInitialPage = true
17+
1618
const [current, setCurrent] = useState({
1719
component: initialComponent || null,
1820
page: initialPage,
@@ -31,13 +33,20 @@ export default function App({
3133
router.init({
3234
initialPage,
3335
resolveComponent,
34-
swapComponent: async () => {},
36+
swapComponent: async () => {
37+
currentIsInitialPage = false
38+
},
3539
})
3640
isRouterInitialized = true
3741
}
3842

3943
useEffect(() => {
4044
router.setSwapComponent(async ({ component, page, preserveState }) => {
45+
if (currentIsInitialPage) {
46+
currentIsInitialPage = false
47+
return
48+
}
49+
4150
setCurrent((current) => ({
4251
component,
4352
page,

0 commit comments

Comments
 (0)