Delay
props.ms
์ด ์ปดํฌ๋ํธ๋ children์ด ๋ ธ์ถ๋๋ ์์ ์ ms๋งํผ ์ง์ฐ์ํต๋๋ค. ์๋์ ๊ฐ์ ์ฝ๋์์๋ 200ms๋งํผ children ๋ ธ์ถ์ด ์ง์ฐ๋ฉ๋๋ค.
import { Delay } from '@suspensive/react'
const Example = () => (
<Delay ms={200}>
<Delayed />
</Delay>
)
๋ก๋ฉ UI๊ฐ ์ง์ฐ๋์ด ๋ ธ์ถ๋๋ ๊ฒ์ด ๋์ ๋ฐ๋ผ ๋ ์ข์ ์ฌ์ฉ์ฑ์ ์ ๊ณตํฉ๋๋ค.
import { Delay, Suspense } from '@suspensive/react'
const Example = () => (
<Suspense
fallback={
<Delay ms={200}>
<Skeleton />
</Delay>
}
>
...
</Suspense>
)
Default ms
<Delay/>
๋ <SuspensiveProvider/>
์ ํจ๊ป ์ฌ์ฉํ ๋ ๋์ฑ ๊ฐ๋ ฅํด์ง๋๋ค. <SuspensiveProvider/>
๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ <Delay/>
default ms๋ฅผ ์ ์ดํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ <SuspensiveProvider/>
ํ์ด์ง์ ์๊ฐ๋์ด ์์ต๋๋ค.
props.fallback
<Delay/>
์ fallback๋ ์คํ ๊ธฐ๋ฅ์ด๋ฏ๋ก ์ด ์ธํฐํ์ด์ค๋ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค
delay๋ children ๋ ธ์ถ ์ ๊น์ง ๋ณด์ฌ์ค ์ ์๋ fallback์ ๋๋ค
import { Delay } from '@suspensive/react'
const Example = () => (
<Delay ms={200} fallback={<>Fallback Text</>}>
200ms delayed Text
</Delay>
)
withDelay
deprecated: ๋์ wrap.Delay().on์ ์ฌ์ฉํ์ธ์
withDelay๋ฅผ ์ฌ์ฉํ๋ฉด ์ปดํฌ๋ํธ๋ฅผ <Delay/>
๋ก ์ฝ๊ฒ ๋ํํ ์ ์์ต๋๋ค.
์๋์ ๊ฐ์ด withDelay๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฅผ ๊ฐ์ธ๊ธฐ ์ํด ๋ถํ์ํ ์ฝ๋๋ฅผ ๋ง๋ค ํ์๊ฐ ์์ต๋๋ค.
withDelay์ ๋ ๋ฒ์งธ ์ธ์๋ children์ด ์๋ <Delay/>
์ props์
๋๋ค.
import { withDelay } from '@suspensive/react'
const Example = withDelay(
function Component() {
return <>...</>
},
{ ms: 200 }
)