• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 FUNCTION COMPONENT RENDERING에 대한 질문.

FUNCTION COMPONENT RENDERING에 대한 질문.

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #34842

    wyk
    참가자

    우선 함수형 컴포넌트는 호출이 될 때 마다 모든 내부 변수가 초기화 된다라고 이해했는데 이 말이 맞는지 먼저 여쭤보고 싶습니다.

    만약 위 말이 맞다면,

    import React, { useState } from 'react';
    import Name from './Name';

    function App() {
      const [name, setName] = useState('');
      const [num, setNum] = useState(1);
     
      const changeName = (e)=>{
        setName(e.target.value);
      }
      const changenum = (e)=>{
        setNum(e.target.value);
      }

       return (
         <div>
            <input
           type="number"
           value={num}
           onChange={changenum}
           />
           <h3>{num}</h3>
          <Name name={name} changeName={changeName} num={num}/>
         </div>  
      )
    }
    export default App;

     

    <Name>

    import React, { useState } from 'react';

    function Name(props) {
    let { name , changeName ,num} = props
    const [ person, setPerson] = useState("kim")

    const randNum = ()=>{
        return Math.random()
    }
    console.log('name render')
       return (
        <div>
            <input
                type="string"
                value={name}
                onChange={changeName}
            />
            <h3>{name}</h3>
            <h1>{ person }</h1>
            <button onClick={()=>{
                setPerson(randNum())
            }}>Clcik</button>
        </div>  
      )
    }
    export default Name;

    위 프로젝트에서, 

    Click 버튼을 여러번 눌러 person의 값을 변경한 뒤,

    input의 value를 변경하면 랜더링이 되며 Name 컴포넌트를 다시 호출하는데, 

    왜 useState에 초기 설정된 Person 값인 kim으로 변경되지 않는지 여쭤보고 싶습니다.

    #34860

    codingapple
    키 마스터

    state는 재렌더링되어도 초기화안됩니다 

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠