useEffect(() => {
if (session) {
fetch("http://localhost:8080/video/user", {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${session.accessToken}`,
},
})
.then((res) => res.json())
.then((data) => {
setVideos(data);
})
.catch((err) => {
console.log(err);
});
}
}, [session, cart]);
안녕하세요. nextjs 14로 react를 입문하며 몇가지 질문이 생겼습니다.
배경
현재 헤더에 토큰을 심어서 보내야 하는 상황 (훅으로 sessionStorage 접근해야함)이라
독스에서 소개하는 서버컴포넌트 데이타 페칭방식은 사용할 수가 없는 상황입니다.
그래서 위와 같이 하고있는데 고민이 되는 지점이 있습니다
파일 분리 및 아키텍쳐?
useEffect안에서 페치 호출이 점점 다양하게 늘어나는데
보통 이것들을 한곳에서 모아서 관리하는지 아니면 그냥 이렇게 냅두는지 궁금합니다.
이를테면 api/index.ts 이런 곳에다가 모아두어서 관리를하나요?
점점 엔드포인트가 늘어나갈 수록 관리가 힘들어짐을 느끼고 있습니다..
여기서 할 수 있는 베스트 프랙티스가 뭘까요?
읽어주셔서 감사합니다.
next쓰면 nextauth를 써야지 그걸 왜 니가만듬ㅋㅋㅋ
ㅇㅇ 그거 쓰는건디..
nextauth 쓰니까 useSession으로 가져와야 하는거 아님?
내가 만든거는 없음
next auth 안써도됨 그리고 어차피 코드 베이스 좀만 커지면 api 레이어 빼낼텐데 거기로 주입하는게 일반적이지 - dc App
redaxios같이 클라이언트 객체로 헤더나 base url 설정할 수 있는 라이브러리들 결국엔 쓰게될더고 거기서 연결하는데 편함 - dc App
그리고 앵간하젼 swr reactquery 이런거 써요 - dc App
오 감사합니다.조금 헷갈리는게useSWR을 쓰면 컴포넌트 맨위에서data를 가져오잖아요?근데 이런경우에 swr fetcher에session(토큰)을전달해줘야하는데 이게 가능한 건가요?next auth를 쓰는 경우에는 use effect안에서만session이 접근 가능해져서fetch를 use effect안애서밖에 할 수 없다보니까 결국
next auth를 쓰는 경우에는 use effect안에서만 session이 접근 가능해져서 fetch를 use effect안애서밖에 할 수 없다보니까 결국 useSWR을 사용못했거든요.. next auth를 안쓴다면 이게 가능한 건가요..? 구현을 그러면 window객체의 session storage에 직접 접근해서 하는 방식인건가용..?
즉, next auth를 제거했을 때 useSession에 대응하는 과정을 직접 작성해준다는 말씀이신가 궁금합니다.
어차피 직접 넣는거면 쿠키는 아니고 auth header에 js로 제어해서 넣는걸텐데 ssr 환경만 구분해서 브라우저 로컬스토리지 이런곳에서 읽고 쓰면 됨 - dc App
둘이 같이 쓸수도 있음 근데 이건 검색해서 직접 알아보는게 빠를거 - dc App
알겠습니다 감사합니다 좋은밤되세요