Skip to content

Commit

Permalink
fix: react Deferred component
Browse files Browse the repository at this point in the history
  • Loading branch information
KaioFelps committed Jan 31, 2025
1 parent fc8e1d4 commit 7924502
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions packages/react/src/Deferred.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { ReactElement, useEffect, useState } from 'react'
import { ReactElement, useEffect, useMemo, useState } from 'react'
import usePage from './usePage'
import { router } from '.'

interface DeferredProps {
children: ReactElement | number | string
Expand All @@ -14,7 +15,12 @@ const Deferred = ({ children, data, fallback }: DeferredProps) => {

const [loaded, setLoaded] = useState(false)
const pageProps = usePage().props
const keys = Array.isArray(data) ? data : [data]
const keys = useMemo(() => Array.isArray(data) ? data : [data], [data])

useEffect(() => {
const removeListener = router.on("start", () => setLoaded(false));
return () => { removeListener() }
}, [])

useEffect(() => {
setLoaded(keys.every((key) => pageProps[key] !== undefined))
Expand Down

0 comments on commit 7924502

Please sign in to comment.