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

home2 게시판 React 게시판 setState 질문 드립니다.

setState 질문 드립니다.

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

    강병민
    참가자

    import React, { useState } from "react";
    import Header from "./components/Header";

    function App() {
      const [value, setValue] = useState(3);
      const onChange = (e, limit = 500) => {
        let timer = setTimeout(() => {
          setValue(e.target.value);
        }, limit);

        timer();
      };
      return (
        <>
          <input onChange={onChange} value={value}></input>
          {value}
        </>
      );
    }
    export default App;

     

    이 코드에서 input값이 변경이 되지 않고 계속 3 입니다. setTimeout 안에서 value를 변화시켜서 그런것 같은데, 

    왜 그런건지 리액트 원리에 대해서 설명해 주실수 있나요??

    #36948

    codingapple
    키 마스터

    value라는 state를 인풋입력값으로 집어넣으라고 되어있는데

    value라는 state는 항상 3이라 그럴 뿐입니다 

    #37002

    강병민
    참가자

    timer 를 사용하지 않을때는 input 안의 값이 수정이 되는데 , timer를 사용하면 수정이 안되는건 왜 인건가요??

    #37079

    codingapple
    키 마스터

    0.5초 후에 setValue(e.target.value) 이걸 해야하는데

    e.target.value는 value={value} 이거때문에 항상 3이라 그런듯요 

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

About

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

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

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