νμ¬μμλ Angularκ³Ό μΌλ νΈλ‘ μ κΈ°λ°μΌλ‘ νμ
ν΄μ μΉκ³Ό μ±μΌλ‘ κ°λ° μ€μ
λλ€.
νμ¬ Reduxλ₯Ό μ¬μ©νμ¬ μνλ₯Ό κ΄λ¦¬νκ³ μμ§λ§, νλ©΄μ 볡μ‘λκ° μ¦κ°ν¨μ λ°λΌ λ°μ΄ν°μ μμ±κ³Ό μ κ±°λ₯Ό κ΄λ¦¬νλ κ²μ΄ μ΄λ €μμ‘μ΅λλ€.
κ° νλ©΄μμ λ°μ΄ν°λ₯Ό μμ± λ° μ κ±°νλ μ κ·Ό λ°©μμ μ μ§λ³΄μκ° μ΄λ €μμ§κ³ λ©λͺ¨λ¦¬ κ΄λ¦¬λ μ½μ§ μμμ΅λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ°μ΄ν° κ΄λ¦¬λ₯Ό νλ©΄μ΄ μλ λ 립μ μΈ κ³μΈ΅μΌλ‘ λΆλ¦¬νμ¬ κ³ λ―Όν΄λ³΄μμ΅λλ€. λ°μ΄ν°μ λΌμ΄ν μ¬μ΄ν΄μ νλ©΄μ΄ μλ μ체μ μΈ λΌμ΄ν μ¬μ΄ν΄λ‘ κ΄λ¦¬νλ κ²μ΄ μ€μνλ€κ³ νλ¨νμ΅λλ€.
κ·Έλ° λ€μ Tanstack Queryλ₯Ό μκ² λμμ΅λλ€. μ΄ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ©΄ ν΄μν€λ₯Ό ν΅ν΄ λ°μ΄ν°μ μ§κ΄μ μΌλ‘ μ κ·Όν μ μκ³ , μΊμλ₯Ό νμ©νμ¬ λΆνμν API νΈμΆμ μ€μΌ μ μμ΅λλ€. λν, μ»΄ν¬λνΈ λ‘μ§μ κ°μννκ³ μΉμμΌμ ν¨κ³Όμ μΌλ‘ κ΄λ¦¬ν μ μμ΅λλ€.
Todo μ±μ λ§λ€μ΄ 보면μ μ΄λ»κ² νμ© ν μ μμ§ μμ보μμ΅λλ€. (Github repo)
κ°λ¨ν μ€νμ μλμ κ°μ΅λλ€.
ν΄λΌμ΄μΈ μ€ν
μλ² μ€ν
μ΄λ κ² κ΅¬νν΄λ³Έ μ±μμλ μ»΄ν¬λνΈ κ³μΈ΅μμλ λ°μ΄ν° κ΄λ¦¬μ λν λ‘μ§μ μ΅μννκ³ , Tanstack Queryλ₯Ό ν΅ν΄ λ°μ΄ν°μ λΌμ΄ν μ¬μ΄ν΄μ κ΄λ¦¬νμμ΅λλ€.
νΉν μΉμμΌμ ν΅ν΄ μ€μκ°μΌλ‘ λ°μ΄ν°λ₯Ό μ
λ°μ΄νΈνλ λΆλΆμμ Tanstack Queryλ₯Ό νμ©νλ©΄ λ§€μ° ν¨κ³Όμ μ΄λΌλ κ²μ μ μ μμμ΅λλ€.
λ°μ΄ν° κ³μΈ΅μμ μμ±κ³Ό μ κ±° μμ μ μλμΌλ‘ μΉμμΌμ roomμ joinνκ³ leaveνλ λ‘μ§μ ꡬννμ¬, νλ©΄μμλ μ΄μ λν λ‘μ§μ μ κ²½μ°μ§ μμλ λμμ΅λλ€.
Tanstack Queryλ₯Ό ν΅ν΄ μ»μ μ μλ μ₯μ κ³Ό ν¨κ», μ°λ¦¬ μ±μ νΉμ±μ λ§μ§ μλ κΈ°λ₯λ€μ λ°κ²¬νμ΅λλ€. μλ₯Ό λ€μ΄ stale time μ€μ μ μλμΌλ‘ apiλ₯Ό νΈμΆνκ² λ§λλλ° μ΄λ μ°λ¦¬ μ±μ νΉμ±μ λ§μ§ μμμ΅λλ€.
μ΅μνμ api νΈμΆκ³Ό μΉμμΌμ ν΅ν λ°μ΄ν° μ
λ°μ΄νΈλ₯Ό μ€μ μΌλ‘ λοΏ½οΏ½μΌ νκΈ° λλ¬Έμ, μ΄λ¬ν μ€μ μ μ€νλ € λΆνμν api νΈμΆμ μ λ°ν μ μμμ΅λλ€.
λ°λΌμ μ§μ λμ
νμ§λ μμμ§λ§, κ·Έ κ°λ
μ νμ©νμ¬ λ°μ΄ν°μ λΌμ΄ν μ¬μ΄ν΄μ κ΄λ¦¬νλ λΌμ΄λΈλ¬λ¦¬λ₯Ό λ§λ€κΈ°λ‘ κ²°μ νμ΅λλ€.
μ€μ λ‘ λμ
νμ§ μμμ§λ§, μ΄λ¬ν κ³Όμ μ ν΅ν΄ λ°μ΄ν° ꡬ쑰λ₯Ό μ€κ³ν λ νμ₯μ±κ³Ό μ μ§λ³΄μμ±μ κ³ λ €νλ λ°©λ²μ λ°°μ μ΅λλ€.
μ΄λ μ±μ μ±λ₯μ ν₯μμν€κ³ μ μ§λ³΄μλ₯Ό μ©μ΄νκ² λ§λλ λ° ν° λμμ΄ λ κ²μ
λλ€.