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

home2 게시판 React 게시판 state 변경함수 관련 질문입니다.

state 변경함수 관련 질문입니다.

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

    강의현
    참가자

    질문 올리기 전 최근 개인프로젝트 하느라 질문글을 많이 올리고 있는데 하나하나 답변달아주셔서 감사합니다. 온라인상이라도 감사인사 먼저 드리는 게 예의라고 느껴 꼭 말씀드리고 싶네요ㅎㅎ

    현재 리액트 환경에서 예약페이지를 만들고 있습니다.

    예약한 시간을 '예약 기록' 페이지에 남기고 싶어 state 변경함수를 활용해 구현 중인데 문제점이 생겨 질문드립니다.

    예약시간을 클릭하면 그 시간이 'bookconfirmtime'이라는 state에 담기고 다른 페이지에서 '확인'을 누르면 bookconfirmlist라는 state에 추가하도록 만들었습니다.

    문제는 예약시간을 처음 클릭하고 확인을 누르면 bookconfirmlist값이 없다고 나옵니다. 그리고 두번째 누리면 이전에 클릭했던 예약시간으로 담기고요.


    위에 콘솔창이 있는 두 사진은 처음 클릭하면 값이 없고, 두번째 클릭했을 때 처음 클릭한 값이 나오는 사진입니다. state가 비동기라서 생기는 문제일까요? useEffect를 활용하려고 했는데 강의에는 state복사본을 다룰 때 예시가 없어 계속 막히네요. 이 문제를 해결할 수 있는 힌트 부탁드립니다.

    #33665

    codingapple
    키 마스터

    state 변경은 잘 되어있는데 콘솔창 출력만 이상한 걸 수도 있습니다

    state변경함수는 console.log보다 늦게 처리됩니다

    #33729

    강의현
    참가자

    실제로 '예약기록' 페이지에 가보면 두번째 클릭했을 때 처음 클릭한 값이 나와있습니다.

    위의 코드는 예약기록 페이지입니다. 혹시 map함수를 쓰는 과정에서 실수한 것이 없는지 확인 부탁드립니다.

    #33735

    codingapple
    키 마스터

    bookConfirmTime 을 변경하는 코드보다

    그 밑에서 bookConfirmTime을 쓰는 코드가 더 먼저 실행되어서 그런듯요 

    bookConfirmTime 대신 confirmTime 써도될 것 같습니다 

    #33784

    강의현
    참가자

    댓글 확인하고 바로 실행해보았습니다. 아무런 오류 없이 잘 진행됩니다. 제가 괜히 복잡하게 생각해서 진행했네요! 

    감사드립니다.

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

About

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

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

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