Today, What I learned?
μ°λ¦¬ νλ‘μ νΈμ μ μ©λμ΄ μλ μ½λλΆν μ λν΄μ μμλ³΄λ € νλ€.
λ΄κ° μ μ©ν λΆλΆμ΄ μλμκ³ , λλ μ²μ μ ν κ²μ΄λΌ μμ§ μμν λΆλΆ!...
리μ‘νΈ κ³΅μλ¬Έμμλ μ΄ λΆλΆμ΄ μ μ€λͺ λμ΄ μλ€.
https://ko.reactjs.org/docs/code-splitting.html
μ½λ λΆν μ μ±μ μ§μ°λ‘λ©(lazy loading) ν μ μλλ‘ λμμ€λ€.
μ¬μ©μκ° νμν μ½λλ₯Ό κ·Έλκ·Έλ λΆλ¬μ€κΈ° λλ¬Έμ μ΄κΈ° λ‘λ©μ νμν μ½λκ° μ€μ΄λ€κ³ , μ±λ₯ ν₯μμ λ§μ λμμ΄ λλ€.
React.lazy
React.lazy
ν¨μλ₯Ό μ΄μ©ν΄μ λμ importλ‘ κ°κ°μ μ»΄ν¬λνΈλ₯Ό λ λλ§ ν μ μλ€.
λΌμ°νΈ μ»΄ν¬λνΈμλ React.lazy
λ‘ λΆλ¬μ¨ μ»΄ν¬λνΈλ₯Ό μ μ©νλ€.
const MyPageComponentPage = React.lazy(() => import('pages/MyPage'));
<Route
path="/mypage"
element={
useIsLogin() ? <MyPageComponentPage /> : <Navigate to="/" replace />
}
errorElement={<ErrorPage />}
/>
Suspense
Suspense
μ»΄ν¬λνΈμμ fallback
propsλ₯Ό μ€μ ν΄λλ©΄ React.lazy
μ»΄ν¬λνΈκ° λ‘λ©λ λκΉμ§ propsλ‘ μ λ¬λ μ»΄ν¬λνΈλ₯Ό 보μ¬μ€λ€.
λ‘λ© νμ΄μ§λ₯Ό λ£κΈ° λ±!
<Suspense fallback={<LoadingPage />}>
...
</Suspense>
μ½λλΆν νμΈ
νμ΄μ§μ μ μν λ λ§λ€ κ°κ° λΆν λ μ½λκ° λ‘λλλ κ²μ λ€νΈμν¬μμ νμΈν μ μλ€.
νμ μ°ΎκΈ° νμ΄μ§ μ μ μ
λ§μ΄νμ΄μ§ μ μ μ
λ§μ½ λΆν μ ν΄λμ§ μμλ€λ©΄ ν λ²μ λͺ¨λ μ½λλ₯Ό λΆλ¬μμ κ²μ΄κΈ° λλ¬Έμ νμ΄μ§λ₯Ό μ΄λν λλ§λ€ λ€μ μ€ν¬λ¦½νΈλ₯Ό λ°μμ€μ§ μμ κ²!..
'π Studying > π TIL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[React] useEffectμ μ€ν μμ (1) | 2023.02.23 |
---|---|
λ§μ΄νμ΄μ§ λ²κ·Έ, μ 보 λ³κ²½ νμΈ μ ν¨μ± κ²μ¬ π€ (0) | 2023.02.21 |
[React] νλ‘μ νΈ λ¦¬μ€νΈ νν°λ§ μ¬μ (2) - 3μ€ μ€μ²© κ°μ²΄ (0) | 2023.02.17 |
[React] νλ‘μ νΈ λ¦¬μ€νΈ νν°λ§ μ¬μ (1) - Promise.all (0) | 2023.02.16 |
[React] 컀μ€ν λͺ¨λ¬ λ§λ€κΈ° (0) | 2023.02.15 |
Comment