μνλ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκ³ λ³΄μ¬μ£Όλ κ²μ΄ νλ‘ νΈμλ μλμ ν΅μ¬μ΄λΌλλ°.. μ¬κΈ°μ μμ£Ό λμ€λ μ©μ΄μΈ 'μν κ΄λ¦¬'λ 무μμΈκ°?
Front-End μμμ 'μνκ΄λ¦¬'λ?
1. λ°μ΄ν°λ₯Ό μ€κ³λ UI/UXμ λ§κ² μ€κ³νκ³ κ΅¬ννλ μΌμ΄λ©°, 2. λ€νΈμν¬λ₯Ό ν΅ν΄ μλ²λ‘ μ λ¬λλ clientμ μμ²μ λ°λΌ λ³ννλ μνλ₯Ό κ΄λ¦¬νλ μΌ.
μνκ΄λ¦¬ λ°©λ²
1. νλ μμν¬ λ±μ₯
- React, Vue, Svelte λ±μ νλ μμν¬ λ±μ₯
- μ΅κ·€λ¬μ λ±μ₯μΌλ‘ μνλ κ³Όκ±°μ DOMμμ νμΆν μ μκ² λμλ€. front-end κ°λ°μλ DOMμ΄ μλ JavaScriptμμ μνλ₯Ό κ΄λ¦¬ν μ μκ² λμλ€. μ¦, DOMμ μ κ·Όνλ λ‘μ§μ΄ νμμμ΄μ§κ² λμλ€λ κ²μ΄λ€. κ±°κΈ°μλ€ νμν μνλ€μ controlerμ λͺ¨μμ κ΄λ¦¬νκ² λλ©΄μ λ°μ΄ν°μ μ΄μ μ λ§μΆ κ°λ°μ΄ κ°λ₯ν΄μ‘λ€.
- μν Data κ°μ΄ λ°λλ©΄ μμ μ΄ μνλλλ‘ νμ¬ λ¬Έμ κ° μκΈ°λ©΄ μ΄λμ λ°μνλμ§ μ μ μκ² λμλ€. μ΄ λν, μΈμ μ΄λ»κ² λ°μνλμ§μ λν λλ²κΉ μ κ³μνμ¬ κ³ λ―Όν΄μΌνλ€.
2. λΌμ΄λΈλ¬λ¦¬ λ±μ₯
- Reduxμ κ°μ λΌμ΄λΈλ¬λ¦¬μ λ±μ₯μΌλ‘ μΈμ μ΄λ»κ² μνκ° λ³νλμλμ§μ λν μ μ΄κ° νκ²° κ°νΈν΄μ§. Reduxλ fluxν¨ν΄μ λμ νμ¬ λ¨λ°©ν₯ λ°μ΄ν°νλ¦μΌλ‘ μνλ₯Ό μ μ΄νλ€. - μ΄ λμ λλ²κΉ μ΄ λ§€μ° μ¬μμ§.
** fluxν¨ν΄ μ΄λ?
- κΈ°μ‘΄μ μ¬μ©λλ MVC(Model-View-Controler)ν¨ν΄μ λ¨μ μ 보μνκ³ μ νμ΄μ€λΆ(Facebook)μμ λ°νν ν¨ν΄
- ꡬ.MVC pattern) μ¬μ©μ μΈν°νμ΄μ€μ λΉμ¦λμ€ λ‘μ§ μ²λ¦¬λ₯Ό νλ ꡬκ°μ΄ λͺ ννκ² λλμ΄μ Έ μμ΄, μ¬λ¬ μ¬λκ³Ό κ°λ°ν λ κ°μ 맑μ λΆλΆμ λν΄μλ§ κ°λ°ν μ μλ€λ μ₯μ μ κ°μ§κ³ μμ΄μ λ§μ΄ μ¬μ©λμ΄ μμ. but. modelκ³Ό viewκ° μλ‘ 'μλ°©ν₯'μΌλ‘ μμ‘΄λμ΄ μλ κ΄κ³ λλ¬Έμ νλ‘μ νΈμ κ·λͺ¨κ° μ μ 컀μ§μ λ°λΌ νλ‘μ νΈμ 볡μ‘λ λν κ°μ΄ 컀μ§κ² λλ λ¨μ μ΄ μ‘΄μ¬
- κ°μ₯ ν° νΉμ§μ >>λ¨λ°©ν₯ λ°μ΄ν° νλ¦<< : λ¨λ°©ν₯ λ°μ΄ν° νλ¦μ μ΄μ©νλ©΄ λ°μ΄ν°μ λ³νλ₯Ό μμΈ‘νκΈ° μ½κ² λ§λ€ μ μκ² λλ€.
1. Action: νΉμ νλμ νκΈ° μν μ‘μ μ μλ―Έ. μΌλ°μ μΌλ‘ νμ κ³Ό Dataλ₯Ό λ΄κ³ μμ.
2. Dispatcher: μ λ¬λ°μ Actionμ λ§λ νΉμ Callback μ²λ¦¬κ° μ΄λ£¨μ΄μ§λ μ₯μ. μ²λ¦¬λ Dataλ₯Ό Storeμ μ λ¬.
3. Store: Dispatcherμμ μ²λ¦¬λ λ°μ΄ν°λ€μ 보κ΄νκ³ μλ μ₯μ
4. View: λ§ κ·Έλλ‘ νλ©΄μ μλ―Έ. Storeμ μ μ₯λμ΄ μλ Dataλ₯Ό κ°μ Έμμ μ¬μ©μμκ² λ³΄μ¬μ€ μ μμ.
- Reduxμ κ²½μ° μ μ μν μ μ₯μλ₯Ό μ 곡νκ³ , Props drilling λ¬Έμ λ ν΄κ²°ν¨. νΉν react-deduxλ μ΅κ·Όμ λμ¨ Recoil λ±μ 리μ‘νΈμμ 리λ λλ₯Ό λ°©μ§ν΄μ£Όλ μ΅μ ν κΈ°λ₯κΉμ§ λ€μ΄μμ΄ μ±λ₯μ΄μκΉμ§ ν΄κ²°ν΄μ€λ€.
** Props drilling: Props(κΈ°λ₯)μ μ¬μ©νλ λ 벨μ λλ¬ν λκΉμ§ νμνμ§ μλλΌλ κ³μ κ·Έ λ 벨μ μ°Ύμμ λ΄λ €κ°λ νμ
- νλμ μΉμ μΉμ±μΌλ‘ μ§ννκ³ μλλ°.. νλμ νμ΄μ§μμ μ¬λ¬κ°μ§ μ 보λ₯Ό μ€μκ°μΌλ‘ λκΈ°ν ν΄μ€ νμμ±μ΄ μλ€. μ¬κΈ°μ out-of-date λ¬Έμ κ° λ°μνλ€. λΏλ§ μλλΌ μ μμνμ κ²½μ° νμν μμ μ΄ μλ μ΅μλ¨μμ λ°μ΄ν° fetchλ₯Ό νκ² λλ©΄μ λ°μ΄ν° νλ¦ νμ μ΄ μ΄λ €μμ§λ€.
3. SWR(Stale-While-Revalidate)
- μ격 λ°μ΄ν° fetchλ₯Ό μν λͺ¨λ. μ격 μλ²μ μνλ₯Ό κ°μ Έμμ React μ»΄ν¬λνΈμ μ€λ€.
μμΌλ‘μ μνκ΄λ¦¬
1. μ€μκ° & μ±
2. μλ²λ¦¬μ€
- λ°μ΄ν°(μν)λ₯Ό λ€λ₯΄λ λ‘μ§μ΄ μ μ λ°±μλμμ νλ‘ νΈμλλ‘ λμ΄μ€λ μΆμΈμ΄λ€. μ΄λ₯Ό λ ν¨μ¨μ μΌλ‘ μ²λ¦¬νκΈ° μν΄μ νλ‘ νΈμλλ ν΄λΌμ°λλ₯Ό ν΅ν΄ μλ² μμ΄ μμ μ νλ ννκ° λμ΄κ°κ³ μλ€..
- μλ²λ¦¬μ€λ μ€μ μλ²κ° μλ€λ μλ―Έκ° μλλΌ, λ°μ΄ν° μ²λ¦¬ λ‘μ§λ§ κ°λ°νμ¬ ν΄λΌμ°λμ μ¬λ¦¬λ λ°©λ²μ μλ―Έ.
μ°Έκ³
https://haesoo9410.tistory.com/343