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

home2 게시판 React 게시판 redux 관련 질문입니다.

redux 관련 질문입니다.

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

    검정개
    참가자
    안녕하세요, 선생님!
    리액트는 선생님 것으로만 공부해서 취업한 새싹 개발자입니다.
    다름이 아니라 회사에서 멋지게 코드를 망쳐보라며 프로젝트를 줬는데요....
    
    리듀서에 입력된 값은 window.store.getState()에 치면 분명 나오는데 
    이용하려는 함수에서는 전혀 안 먹히는 문제에 봉착했습니다.
    useEffect도 물론 사용해봤는데, 첫번째 클릭한 값은 안 담겨서 두 번 클릭해야 정상 동작 합니다!!! (충격
    역시 비동기 문제일까 하고 갑작스럽지만 promise도 써보았지만 뻘짓이라는 걸 알게 됐습니다. (더충격
    
    
    대충 흐름은 이렇습니다.
    미리 받아온 기기의 address 값을 받아 클릭 
    -> 클릭하는 함수 내 dispatch() -> action 잘 실행돼서 reducer에 값 잘 담김 
    -> 그런데!! 그 다음에 실행하려는 코드에서는 해당 값이 undefined로 뜸....(클릭한 그 페이지에 있는함수임미다)
    
    지금 이 상황인 것입니다.ㅠㅠ
    
    질문입니다.
    
    useEffect(()=>{
      openClose();
    }, [gattConnectingStatus])
    
    const openClose = () => {
      // 뭔가의 gattConnectingStatus 값이 바뀌면 적용되는 if/else 이용한 함수 어쩌구
    }
    인데... 받아오는 gattConnectingStatus 값이 window.store.getState() 치면 값이 분명 바뀌어있는데도 다음에 써야할 함수에서는 값이 안 들어와있어서 동작이 안됩니다!
    원인이 뭘까요?
    어떻게 수정해야 useEffect에 먹힐까요...?
    그리고 dispatch 함수에선 async / await 못 쓰나요?!ㅠㅜ
    
    
    
    
    		
    	
    #45487

    codingapple
    키 마스터
    window.store 그런 식으로 가져오면 state변경시 컴포넌트가 자동으로 재렌더링되거나 그러지않을걸요 
    useSelector 써서 가져옵시다
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 호 / 개인정보관리자 : 박종흠