react μ μλ² μνλ₯Ό κ΄λ¦¬νλ λΌμ΄λΈλ¬λ¦¬ μ λλ€.
Client State vs Server State β
β Client State
ν΄λΌμ΄μΈνΈ μνλ, μΉ λΈλΌμ°μ μΈμ κ³Ό κ΄λ ¨λ λͺ¨λ μ 보λ₯Ό μλ―Έ ν©λλ€.
μλ₯Ό λ€μ΄ μ¬μ©μλ κ°μ₯ μ μλ μΈμ΄λ‘ ν
μ€νΈλ₯Ό μ½κΈ° μν΄, μΈμ΄λ₯Ό μ ννκ±°λ
ν
λ§λ₯Ό λ°μ μμ΄λ, μ΄λμ΄ μμΌλ‘ λ³κ²½ ν μ μλλ° μ΄λ° κ²μ μλ²μμ μΌμ΄λλ μΌκ³Όλ μ무 κ΄λ ¨μ΄ μμ΅λλ€.
λ¨μν μ¬μ©μμ μνλ₯Ό μΆμ νλ κ² μ λλ€.
β Server State
μλ² μνλ, μλ²μ μ μ₯λμ§λ§ ν΄λΌμ΄μΈνΈμ νμνλλ° νμν λ°μ΄ν° μ λλ€.
μλ₯Ό λ€μ΄ λ°μ΄ν°λ² μ΄μ€μ μ μ₯λλ λΈλ‘κ·Έ κ²μλ¬Ό λ°μ΄ν°κ° μ΄μ ν΄λΉ ν©λλ€.
μ¬μ©μμ κ²μλ¬Όμ νμνκΈ° μν΄ ν΄λΌμ΄μΈνΈμ λ°μ΄ν°κ° μμ΄μΌ νμ§λ§,
λ°μ΄ν°λ μ¬λ¬ ν΄λΌμ΄μΈνΈμ νμ ν μ μλλ‘ μλ²μ μ μ₯ λ©λλ€.
β React Query μ νΉμ§
- 리μ‘νΈ μΏΌλ¦¬λ ν΄λΌμ΄μΈνΈμμ μλ² λ°μ΄ν°μ μΊμλ₯Ό κ΄λ¦¬ ν μ μμ΅λλ€.
- 리μ‘νΈ μ½λμ μλ² λ°μ΄ν°κ° νμν λ fetch λ axios λ₯Ό μ¬μ©ν΄ μλ²λ‘ λ°λ‘ μ΄λνμ§ μκ³ , 리μ‘νΈ μΏΌλ¦¬ μΊμλ₯Ό μμ² ν©λλ€.
- λ°μ΄ν°λ₯Ό κ΄λ¦¬νλ κ²μ 리μ‘νΈ μΏΌλ¦¬μ΄μ§λ§, μλ²μ μ λ°μ΄ν°λ‘ μΊμλ₯Ό μ
λ°μ΄νΈνλ μκΈ°λ₯Ό μ€μ νλ κ²μ μ¬μ©μμ λͺ«μ
λλ€.
- λͺ λ Ήν, μ μΈν λ±μ λ°©λ²μ΄ μμ΅λλ€.
- λ°μ΄ν° κ΄λ¦¬ λΏλ§ μλλΌ, μλ² μν κ΄λ¦¬μ λμμ΄ λλ λ§μ λκ΅¬κ° ν¨κ» μ 곡 λ©λλ€.
- μλ²μ λν λͺ¨λ 쿼리μ λ‘λ© λ° μ€λ₯ μνλ₯Ό μ μ§ ν΄μ£ΌκΈ° λλ¬Έμ μλμΌλ‘ ν νμκ° μμ΅λλ€.
- μ¬μ©μλ₯Ό μν΄ λ°μ΄ν°μ νμ΄μ§ 맀κΉ(Pagination) λλ 무ν μ€ν¬λ‘€(infinite scroll) μ΄ νμν κ²½μ° λ°μ΄ν°λ₯Ό μ‘°κ°μΌλ‘ κ°μ Έμ¬ μ μλ λꡬλ μ 곡 ν©λλ€.
- μ¬μ©μκ° λ°μ΄ν°λ₯Ό μΈμ νμλ₯Ό ν μ§, μμνμ¬ PreFetch λ₯Ό μν ν μ μμ΅λλ€.
- λ°μ΄ν°λ₯Ό 미리 κ°μ Έμμ μΊμμ λ£μΌλ©΄, μ¬μ©μμκ² λ°μ΄ν°κ° νμν λ μ±μ΄ μΊμμμ ν΄λΉ λ°μ΄ν°λ₯Ό κ°μ Έμ€κΈ° λλ¬Έμ μ¬μ©μλ μλ²μ μ°κ²°ν λκΉμ§ κΈ°λ€λ¦΄ νμκ° μμ΄μ§λλ€.
- 리μ‘νΈ μΏΌλ¦¬κ° μλ²μμ λ°μ΄ν°μ λ³μ΄(Mutation) λ μ λ°μ΄νΈ λ₯Ό κ΄λ¦¬ ν μ μμ΅λλ€.
- 쿼리λ ν€λ‘ μλ³λκΈ° λλ¬Έμ 리μ‘νΈ μΏΌλ¦¬λ μμ²μ κ΄λ¦¬ ν μ μκ³ , νμ΄μ§λ₯Ό λ‘λνκ³ ν΄λΉ νμ΄μ§μ μ¬λ¬ κ΅¬μ± μμκ° λμΌν λ°μ΄ν°λ₯Ό μμ²νλ κ²½μ° λ¦¬μ‘νΈ μΏΌλ¦¬λ 쿼리λ₯Ό ν λ²μ λ³΄λΌ μ μμ΅λλ€.
- κΈ°μ‘΄ μΏΌλ¦¬κ° μ μ‘λλ λμ λ€λ₯Έ κ΅¬μ± μμκ° λ°μ΄ν°λ₯Ό μμ²νλ κ²½μ° λ¦¬μ‘νΈ μΏΌλ¦¬λ μ€λ³΅ μμ²μ μ κ±° ν μ μμ΅λλ€.
- μλ²μμ μ€λ₯κ° λ°μνλ κ²½μ°μ λν μ¬μλλ₯Ό κ΄λ¦¬ ν μ μμ΅λλ€.
- μΏΌλ¦¬κ° μ±κ³΅νκ±°λ μ€λ₯κ° λ°μ νμ λλ₯Ό ꡬλ³ν΄μ μ½λ°±μ μ λ¬ ν μ μμ΅λλ€.
β μ€μΉ
npm install react-query
or
yarn add react-query
β μ°Έκ³
'π Front-End > React.js' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
React Query - λ‘λ© λ° μ€λ₯ μν (0) | 2022.10.25 |
---|---|
React Query - λ§λ€κΈ° (0) | 2022.10.25 |
Redux Toolkit (0) | 2022.10.25 |
React - SVG νμΌ μ¬μ©λ² (0) | 2022.10.25 |
Styled-Components (0) | 2022.10.25 |