νλ‘μ νΈ μ§ν μ€ μλ²μμ λ°μ΄ν°λ₯Ό λ°μ λμ€νλ μ΄νλ κΈ°λ₯μ ν μ€νΈ μ€μ΄μλ€.
κ°λ° μ€ console.log() ν¨μλ₯Ό μ¬μ©ν΄ κ²°κ³Όλ₯Ό μ½μμ μΆλ ₯ν΄ ν μ€νΈνλ κ²½μ°κ° λ§μλ°,
μ΄λλ μ½μμ 보λ€κ° λ¬Έλ μνκ°μ λκΌλ€.
(5) [{β¦}, {β¦}, {β¦}, {β¦}, {β¦}]
(5) [{β¦}, {β¦}, {β¦}, {β¦}, {β¦}]
λΆλͺ ν νμ΄μ§ μ΄κΈ° λ‘λ μ μ²μ μλ²λ‘λΆν° λ°μ΄ν°λ₯Ό ν λ² λ°μμ¨ ν, μ¬μ©μκ° λ³λ€λ₯Έ μ‘°μμ νμ§ μλλ€λ©΄ μΆκ°μ μΌλ‘ λ°μ΄ν°λ₯Ό μμ²ν μΌμ΄ μλλ°λ λ°μ΄ν° μμ²μ λ λ²μ© νκ³ μμλ€.
useEffect
λ₯Ό μ¬μ©ν΄ νμ΄μ§ μ΄κΈ° λ‘λ μ λμμ ꡬννκ³ μμκΈ° λλ¬Έμ, μ½λλ₯Ό μ΄ν΄λ΄€μ§λ§ νΉλ³ν λ¬Έμ λλ λΆλΆμ΄ 보μ΄μ§ μμλ€.
무μλ³΄λ€ μ΄κΈ° λ‘λ μ΄ν μ¬μ©μκ° μΆκ°μ μΈ μ‘°μμ νμ λ (νμ΄μ§ λ³κ²½, νΉμ κ²μκΈ νμ΄μ§λ‘ μ΄λνλ€κ° λ€μ κ²μκΈ λͺ©λ‘μΌλ‘ λμμ€λ κ²½μ°)μλ μ μμ μΌλ‘ λ°μ΄ν°λ₯Ό ν λ²λ§ μμ²νκ³ μμκΈ° λλ¬Έμ, μμΈμ΄ λ€λ₯Έ λ° μμ κ²μ΄λΌκ³ μκ°νλ€.
κ·Έλ¦¬κ³ μμΈμ μ°Ύμ보λ€κ° νλ‘μ νΈλ₯Ό μ²μ ꡬμ±ν λ μ¬μ©νλ create-react-app
μ΄ μλμΌλ‘ μ μ©ν React.StrictMode
λλ¬Έμμ μκ² λμλ€.
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<BrowserRouter>
<App />
</BrowserRouter>
</React.StrictMode>
);
곡μλ¬Έμλ₯Ό μ°Έκ³ ν΄ μ 리ν React.StrictModeλ λ€μκ³Ό κ°λ€.
<React.StrictMode>
λ΄λΆμ μ»΄ν¬λνΈ νΈλ¦¬μ λν΄ κ°λ° λͺ¨λμμμ μΆκ°μ μΈ λμμ κ°λ₯νκ² ν΄μ£Όλ©°, κ·Έ λμλ€μ μλμ κ°λ€.
- λΆμν(impure) λ λλ§μ ν΅ν΄ λ°μν μ μλ λ²κ·Έλ€μ μ°ΎκΈ° μν΄ μ»΄ν¬λνΈλ€μ΄ μΆκ°μ μΌλ‘ μ¬λ λλ§(re-rendering) λλ€.