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

home2 게시판 Next.js 게시판 revalidatePath,revalidateTag 질문

revalidatePath,revalidateTag 질문

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

    김민석
    참가자
    docs를 보고 공부하던중 어느부분이 틀린건지 감이 안잡혀 질문 남깁니다.
    캡처
    위코드는 app폴더 하위에있는 pages파일로 메인페이지입니다.
    캡처1
    
    위코드는 app폴더 하위에있는 dot폴더안pages파일로 /dot 페이지입니다.
    docs를 보며 코드를 작성하였는데 사진상 확인가능하듯이 메인페이지에서 데이터를 불러오고 
    그것을 캐싱하기 때문에 일반적이라면 /dot페이지에 방문하고 메인페이지에 다시 방문해도 
    데이터를 다시 불러오는 과정이 발생하진 않겠지만 revalidateTag나revalidatePath를 사용하여 
    /dot 페이지에 방문한후 캐싱된데이터를 무효화시킨뒤  메인페이지에 다시 방문했을때 다른데이터가 
    있는것을 기대하였지만 revalidateTag나revalidatePath를 사용해도 캐시가 무효화되기는 커녕 
    해당값이 계속유지가 되어있었습니다. 몇번씩 왔다갔다해도 똑같았으며 docs를 봐도 어디가 틀렸는지 
    감이안잡혀서 질문 남겼습니다. 어느부분이 잘못된건지 알려주시면 감사하겠습니다.
    #100247

    codingapple
    키 마스터
    그건 클라이언트 컴포넌트에서 유용해서 서버컴포넌트를 그냥 다이나믹렌더링으로 바꾸면 해결일듯요
    #100456

    김민석
    참가자
    제가 잘 이해 한 것인지 모르겠는데 말씀하신 대로 다이나믹렌더링으로 바꿨습니다.
    캡처
    
    캡처1
     다이나믹렌더링으로 전환을하여 혹시몰라 npm run build명령어를 입력하여 확인도 했습니다.
    캡처2
    
    다이나믹렌더링으로 전환을 하였는데도 불구하고 처음에 말씀드렸던 문제는 해결되지 않았습니다.
    도대체 어떤 방식으로 해결해야 할까요?
    #100464

    codingapple
    키 마스터
    그대로써보니까 새로고침할때마다 다른데이터 잘 오는데 
    link태그 지워보거나 dynamic변수를 import 밑으로 옮겨봅시다
    #100532

    김민석
    참가자
    제가 생각했을때에는 새로고침을 하면 Math.random() 함수가 초기화 되어서 다른 값을 보여주는거 같은데
    prefetch옵션 덕분에 처음 한번은 데이터가 바뀌지만 그이후로 여러번 dot페이지에 왔다갔다 해도 메인
    페이지에 있는 데이터는 바뀌지않습니다. 제가 생각한 대로라면 링크태그로 새로고침 없이 dot페이지에 
    방문시 revalidateTag("cool") 함수를  실행함으로써 메인페이지에 다시방문했을때 data1변수가 
    다시 ajax요청을 하면서 다른 숫자를 보여주어야 하는것이 맞는거같은데 제가 잘못이해를 하고 있는건가요?
    #100548

    codingapple
    키 마스터
    link태그쓰면 캐싱된 페이지 보여줘서 그런가봅니다 
    a태그로 페이지 이동해봅시다 
    revalidateTag 함수도 link태그쓰면 재실행안되서 그럴수도요 
    
    #100589

    김민석
    참가자
    a태그로 이동하면 새로고침이 되어 revalidateTag나revalidatePath함수를 사용하는것과 별개로 
    새로고침이되어 초기화 되는것 같습니다. (npm run build와 npm run start를 하여 전부 확인하였습니다.)
    말씀하신대로 페이지가 캐시되서그런것 같은데 서버 컴포넌트에서 useRouter처럼 페이지를 함수로 
    새로고침 없이이동할수 있는 방안이 있을까요?
     
    #100602

    codingapple
    키 마스터
    location.href = '/' 씁시다
8 글 보임 - 1 에서 8 까지 (총 8 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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