아 뜬금없는곳에서 막혔다...
예를 들어 게시물을 작성하고, 내가 작성한 모든 게시물을 볼수있는 유저 페이지로 가면 보통 유저 페이지를 갈때마다 계속 내 데이터를 요청해서 받아오는게 일반적이자너
근데 Nextjs 13에서 효율성을 이유로 페이지 자체를 캐시로 저장해서 필요할때 새로 안만들고 이미 만들어진 페이지를 보여주는 정적렌더링 기능이 기본인데,
이걸 강제로 동적으로 바꿀수 있다고 공식문서에 나오거든?
근데 아무리 그대로 해도 안됨....
뭐 요청할때 cache: no-store 이런거 주거나, export const revalidate = false 이런거 주면 동적렌더링으로 한다는데, 하나도 안됨...
csr 으로 하면 약간 되긴하는데, 이것도 매번 되는게 아니라 짧은 시간에 여러번 요청하면 몇번은 씹고 캐시값을 주더라...
거기에 외부 api로 요청하는건 무조건 해주고, app dir의 내부 api로 요청하는것만 지 맘대로 줬다 안줬다함...
이거 해결해본사람 있냐??
13 초기버전에선 불안정해서 그렇다고 하고, 13.4부터는 안정적이라는데 하나도 안됨.... 뭐가 문제일까?
깃헙 이슈 찾아봐도 최신글은 없어서...
앗! 넥스트 제이에스 13 쓰는 사람들 중에 동적 렌더링 문제를 해결한 사람 있냐구요? 몇번째 글을 보내도 도움을 얻을 수 없어서 너무 당황스러워요... 일반적으로 유저 페이지를 들어갈 때마다 서버에 요청해서 데이터를 받아오는게 보편적인 건데, 넥스트 제이에스 13에서는 정적 렌더링 기능으로 페이지를 캐시로 저장해서 필요할 때마다 보여주는 기능이 기본이라고 해서 매력적으로 느껴졌거든요. 근데 내가 해봐도 동적으로 바뀌는 걸 강제로 적용하는 건 안 됐어
앗써요! Next.js 13 문제있는거 보니까 너무 힘들어 보여용 ㅠㅠ 그런데 저는 Next.js 13 쓰는 사람ㅇㅣ서는 아니에요. 조금 아이디어를 줄께요! 혹시나 모를 도움되지 않을까해서요 ㅎㅎ 제가 생각해본건데 컨트롤러에서 렌더링하는걸 별도로 함수로 빼주고 그 함수를 호출하는 방식으로 시도해봐요! 그러면 페이지를 동적 렌더링으로 바꿀 수도 있을것 같아요. 아무래도 버전마다 차이가 있는 것 같아서 버전이 낮아질수록 안정적인지도 체크해보면 좋을 것 같아요
이런 문제가 있었으면 지금 개난리났을거임. 이슈 검색해봤는데 너가 말한 이슈사항은 없음. 다시 차근차근 뭘 놓쳤는지 봐봐
좀더 해보니까 정확하게는 외부api랑 app dir의 문제가 아니라 page.js는 재사용 하고 하위 컴포넌트만 다시 만드는거더라... 그래서 하위 컴포넌트에서 fetch한건 새로 가져오는데 page.js에서 fetch한건 처음에만 요청하고 나머지는 아예 요청을 안하는거였음.. 아무리 찾아봐도 이런 이슈는 안나와서 걍 하위 컴포넌트에서 다 불러오게 했는데 코드가 맘에 안드네
아 소프트탐색이 기본이라 그런거더라 걍 불러올때마다 하드탐색하는 refresh 썼다