리μ‘νΈμ λ λλ§ κ³Όμ μ 리μ‘νΈ μ리먼νΈμμ μμν©λλ€.
리μ‘νΈ μ리먼νΈλ μμμ μ΄κ³ μνκ° μμ΅λλ€. λ°λ©΄ νμ΄λ² λ
Έλλ μνλ₯Ό μ μ₯νκ³ μλͺ
μ΄ κΉλλ€.
createFiberFromTypeAndProps ν¨μλ₯Ό ν΅ν΄μ 리μ‘νΈ μ리먼νΈλ‘λΆν° νμ΄λ² λ
Έλλ₯Ό μμ±ν©λλ€.
μ΄λ κ² μμ±λ νμ΄λ² λ
Έλλ μ€μ μμ
λ¨μλ‘, 리μ‘νΈμ λ΄λΆ μΈμ€ν΄μ€μ μ°κ²°λ©λλ€.
리μ‘νΈλ work loopλ₯Ό ν΅ν΄ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό μ
λ°μ΄νΈν©λλ€.
μ΄ κ³Όμ μμ beginWorkλ νμ΄λ² νΈλ¦¬λ₯Ό μννλ©΄μ μ
λ°μ΄νΈκ° νμν μ»΄ν¬λνΈλ₯Ό μ°Ύκ³ λν° μ²΄ν¬λ₯Ό μνν©λλ€.
νΈλ¦¬ λμ λλ¬νλ©΄ completeWork ν¨μλ₯Ό μ€νν΄μ λ°λλ‘ μννλ©΄μ μ κ°μ DOMμ μμ±ν©λλ€.
μ΄ λμλ μ€μ DOMμ μ‘°μνλ κ²μ²λΌ DOM μ리먼νΈλ₯Ό μΆκ°νλ λ±μ μμ
μ μνν©λλ€.
μ΄λ κ² μ€νμ€ν¬λ¦° λ λλ§ νλ‘μΈμ€ κΈ°μ μ μ΄μ©ν΄ νμ¬ νλ©΄μ μν₯μ λ―ΈμΉμ§ μκ³ νλ©΄μ μ
λ°μ΄νΈνλ κ²μ λ λλ§ κ³Όμ μ΄λΌ ν©λλ€.
λ λλ§ κ³Όμ μ λΉλκΈ°μ μ΄λ©° μ€λ¨/μ·¨μλ μ μμ΅λλ€.
λ°±κ·ΈλΌμ΄λμμ μ λ°μ΄νΈλ κ°μ DOMμ μ€μ νλ©΄μ λ°μνλ κ³Όμ μ μ»€λ° κ³Όμ μ΄λΌκ³ ν©λλ€. μ»€λ° κ³Όμ μ λκΈ°μ μ΄λΌ μ·¨μκ° λΆκ°λ₯ν©λλ€.
μ»€λ° κ³Όμ μ λ λ¨κ³λ‘ λλ©λλ€.
"λ°±κ·ΈλΌμ΄λ"λΌλ λ§μ μλ°μ€ν¬λ¦½νΈ νκ²½μλ λ§μ§ μμ΅λλ€. μλ°μ€ν¬λ¦½νΈ μμ§μ μ±κΈμ€λ λμ΄κΈ° λλ¬Έμ λλ€.
κ·Έλμ 리μ‘νΈ μ€μΌμ€λ¬λ Time Slicing κΈ°λ²μ μ¬μ©ν΄ μ½ 5λ°λ¦¬μ΄λ§λ€ λ©μΈ μ€λ λμκ² μ μ΄κΆμ λκ²¨μ£Όμ΄ νλ©΄μ΄ λ©μΆμ§ μλλ‘ κ΅¬ννμ΅λλ€.
λ λλ§ κ³Όμ μ€μ μ μ μ ν΄λ¦ μ΄λ²€νΈμ κ°μ μ°μ μμκ° λμ μμ μ΄ λ°μνλ©΄ νμ¬ λ λλ§μ΄ νκΈ°λκ³ μ°μ μμκ° λμ μμ μ΄ μνλ©λλ€.
μ»€λ° κ³Όμ μμ effectμ passive effectκ° μ‘΄μ¬ν©λλ€.
useLayoutEffectκ° μ¬κΈ°μ ν΄λΉν©λλ€.useEffectκ° μ¬κΈ°μ ν΄λΉν©λλ€.useLayoutEffect: DOM μΈ‘μ κ³Ό κ°μ΄ νλ©΄ 그리기 μ μ νμν μμ
μ μ¬μ©λ©λλ€.useEffect: λ€νΈμν¬ μμ²κ³Ό κ°μ΄ νλ©΄ μ
λ°μ΄νΈλ₯Ό μ§μ°μν€μ§ μμλ λλ μμ
μ μ¬μ©λ©λλ€.리μ‘νΈμ λ λλ§μ΄λ μ€μ νλ©΄μ λ°μλλ κ³Όμ μ΄ μλλ©° 리μ‘νΈ λ΄λΆμμ μ€νμ€ν¬λ¦° λ λλ§μΌλ‘ λμνλ©° μΈμ λ μ§ μ€λ¨ λ μ μμ΅λλ€.
κ·Έλ κΈ°μ 리λ λλ§ λλκ²μ΄ λ°λμ νλ©΄ μ±λ₯μ μν₯μ μ£Όλ κ²μ΄ μλλ©°
μΌμ°¨μ μΌλ‘ beginWork κ³Όμ μμ μ€μ λ³κ²½μ΄ νμν μ리먼νΈκ° λν° μ²΄ν¬λκ³
completeWork κ³Όμ μμ λ³κ²½μ¬νμ΄ μ
λ°μ΄νΈ λ©λλ€.
κ·Έλ¬λ μ€νμ€ν¬λ¦° λ λλ§ λ°©μμΌλ‘ μ€μ DOMμ μν₯μ μ£Όμ§ μλλΌλ μ리먼νΈκ° λ§μμ§κ³ λ§μ 리λ λλ§μ΄ λ°μνλ©΄ λΆνμν λν°μ²΄ν¬ μ°μ°μ΄ λ°μν μ μμ΅λλ€.
κ·Έλ κΈ°μ 볡μ‘νκ³ λ§μ DOM μ리먼νΈλ₯Ό κ°μ§ νλ©΄μμ λ λλ§ κ³Όμ μ μ΅μ νλ νμν©λλ€.
νΉν λͺ¨λ°μΌ νκ²½μμλ λΆνμν μ°μ°μ΄ λΉ λ₯Έ λ°°ν°λ¦¬ μλͺ¨λ‘ μ΄μ΄μ§ μ μμ΅λλ€.