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

home2 게시판 React 게시판 react에서 변경된 state값 하위 컴포넌트로 넘겨주는 법

react에서 변경된 state값 하위 컴포넌트로 넘겨주는 법

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

    박나연
    참가자
    안녕하세여
    
    리액트 사용해서 프로그램 만들기 진행 중에 
    실시간으로 에이젝스를 날려서 가져온 값이 하위 컴포넌트의 조건문을 거쳐서 함수가 실행되야되는데 안됩니다ㅜㅜ
    (부모 컴포넌트의 변경된 전역변수가 실시간으로 하위컴포넌트의 props에 반영되고 싶어요)
    
    1. 부모 컴포넌트의 전역변수의 값을 하위 컴포넌트에 보내줌.
    
    
    export function MainComponent(){ //컴포넌트
    
    const variable ={
        this_waitCnt
        ,this_isWait
    }
    
    let [SendProps, setSendProps] = useState([
        variable                            //0
        ,ajaxFunction                     //1
    ]);
    let [WaitPage , set] = useState();
    
    
    return(
            {WaitPage && <IsWait SendProps ={SendProps}/>}
    );
    };
    2. 하위 컴포넌트에서 setInterval 함수에서 조건문을 해당 값 체크
    
    export function IsWait(props){
    useEffect(() => {
        let playAlert = setInterval(function() {
          let iswait = props.SendProps[0].this_isWait; //초기값인 undefined로 계속 돌아감
            if ( iswait  == "T" ) {
            checkData();
            }
          }, 1000);
          return () => clearInterval(playAlert);
      }, []);
    function checkData(){
    ajaxFunction();
    };
    
    };
    3. 2번의 checkData()에서 부모 com의 에이젝스를 호출하고 suc값이 부모의 전역변수 들어감.
    4. 바뀐 전역변수로 하위컴포넌트의 함수 실행
    
    이렇게 되어야 하는데 하위컴포넌트로 들어온 pros가 초기값인 usdefined로 계속 돌아가요 ㅠㅠ
    
    
    
    
    도와주세요 애플맨.
    
    
    
    
    #66676

    codingapple
    키 마스터
    setInterval 바깥에서 props를 변수에 담아서 써봅시다
    함수이런걸 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 호 / 개인정보관리자 : 박종흠