티스토리 뷰
회원가입, 로그인을 구현하던 중, 로그인한 유저 정보를 확인해야 하기에 session을 확인해야 했다. 그리고 client component에서는 SessionProvider를 통해 session을 확인할 수 있다. 그래서 다음과 같이 layout.ts를 작성했다. (사실 코딩애플 강의의 코드를 그대로 가져왔다.)
// layout.ts
"use client";
interface IProps {
children: React.ReactNode;
}
import React from "react";
import { SessionProvider } from "next-auth/react";
export default function Layout({ children }: IProps) {
return <SessionProvider>{children}</SessionProvider>;
}
그런데 return의 SessionProvider에서 이런 에러가 발생했다.
코딩애플에서 강의를 수강하면서 숙제를 할 때는 발견하지 못한 에러였다. 그래서 몇 분동안 헤매다가 일단 해결법을 알아냈다.
현재 파일 이름이 layout.ts인데 layout.tsx로 바꾸었더니 에러가 해결되었다. 이 이유에 대해 구글링을 했지만 찾을 수가 없어서 혼자 생각을 해 보았다. 확장자가 .ts일 경우(자바스크립트는 .js), JSX를 사용하지 않는 코드가 담긴 파일이다. 그리고 확장자가 .tsx(자바스크립트는 .jsx)인 경우는 JSX를 사용하는 코드가 담긴 파일이다. 그리고 현재 layout은 JSX를 사용한다. 그래서 확장자를 .tsx로 바꿔줘야 했던 것 같다.
'기록' 카테고리의 다른 글
AWS Access key 유출되고 나서 한 것들 (0) | 2023.07.24 |
---|---|
무한 스크롤에서 만난 클로저, 상태 업데이트 (0) | 2023.07.23 |
Next.js의 session 확인법 (0) | 2023.07.20 |
관심사의 분리, Custom Hook (0) | 2023.07.10 |
Next.js에서 useSession을 이용하다 생긴 버그 (0) | 2023.07.05 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- BFS
- typescript
- 타입스크립트
- 백준
- themoviedb
- 동적계획법
- Redux
- 완전탐색
- 자바스크립트
- 비트마스킹
- react
- 넥스트js
- async
- 프로그래머스
- Next.js
- NextJS
- 순열
- 햄버거버튼
- 리액트
- 다이나믹프로그래밍
- 카카오맵
- 구현
- 스택
- aws
- 코드스테이츠
- C++
- 알고리즘
- CSS
- 브루트포스
- SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함