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

home2 게시판 React 게시판 axios 한번만 호출

axios 한번만 호출

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

    김민성
    참가자

     제가 마이페이지를 만들었는데 거기 이름 아이디 전화번호를 useState를 활용해서 디비에서 꺼내서 보여주고있는 상태인데요.

    마이페이지를 들락날락 할때마다 서버에 호출하니깐 자원 낭비인거 같아서 로그아웃하기 전까지 딱 한번만  호출하고 state값을 유지할 수는 없나요?  

    #6092

    codingapple
    키 마스터

    꺼낸걸 state에 저장해두고 계속 사용하면 되겠군요 새로고침이 되어서 state가 없어져버린다면 새로고침되지않게 ajax를 이용하십시오 

    #6095

    김민성
    참가자

    const [user, setUser] =useState({id:'',tel:''})
     
    useEffect(()=>{
        axios.get('/mypage/data').then(res=>{
        setUser({id:res.data.id, tel:res.data.tel})
        })
    },[])
     

    지금 이런상태인데 어떻게 수정하면 좋을까요? 마이페이지를 들락날락 거리는게 새로고침이 되고있는 상태인가요?

    useEffect를 안쓰는게 옳은 방법인지...갑자기 새로고침과 랜더링의 개념이 혼동되네요..

    #6097

    codingapple
    키 마스터

    음 state가 갑자기 왜 사라지나요?

    #6098

    김민성
    참가자

    제가 쓴 코드가 컴포넌트가 보일때마다 계속 get요청 중인거죠?  마이페이지를 들락날락 할때마다 계속 state와 관계없이 계속 get요청하는게 자원낭비같아서요. 

    #6100

    codingapple
    키 마스터

    그렇다면 useEffect안에서 if문을 이용해

    user라는 state의 id가 빈칸이 아니면 ajax요청 해주세요~

    라고 코드를 짜면 되겠군요

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

About

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

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

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