inflearn logo
강의

Course

Instructor

Bite-sized Next.js

4.1) Data Fetching in App Router

컴포넌트를 만들 때 화살표 함수를 쓰지 않는 이유

587

rkdalsgh

4 asked

3

안녕하세요

선생님 코드를 보다보면 컴포넌트를 화살표 함수를 쓰지 않더라구요. rafce를 사용하지도 않으시고.

혹시 이유가 있을까요?

 

그리고 컴포넌트 파일명 시작을 대문자로 하지 않는 이유도 궁금합니다!

스트리밍 적용할 때 loading.tsx를 Loading.tsx라고 하면 적용이 안되더라구요

 

react typescript next.js

Answer 2

3

winterlood

안녕하세요 이정환입니다.

순서대로 답변드릴게요 😃

우선 화살표 함수를 사용하지 않는 이유는 순전히 개인 기호입니다 ㅎㅎ!

화살표 함수로 컴포넌트를 만들면 "export default 컴포넌트" 라는 라인을 추가해야 하는 반면

함수 선언식으로 컴포넌트를 만들면 선언과 동시에 export default로 내보낼 수 있어 자주 그렇게 사용합니다.

 

추가로 파일명을 대문자로 하지 않는 이유는 Next.js 프레임워크의 규칙때문입니다.

Next.js에서는 loading뿐만이 아니라 error, not-found 또한 모두 소문자를 강제하고 있습니다.

저는 이 규칙에 맞춰 다른 컴포넌트 파일명도 모두 소문자로 사용하는 편 입니다.

0

rkdalsgh

감사합니다!

소문자 규칙은 기억해야겠네요!

0

codingforfun

궁금한게 꼭 굳이 default를 선언할 일이 자주 있나요?

그냥 export const Component = () => {...}로 해도 component를 내보낼 수 있지 않나요?

그리고 이름또한 default로 내보내면 쓰는쪽에서 바꿔써도되서..더안좋지않나요? (궁금해서 여쭤봅니다ㅜㅜ)

0

winterlood

네 뭐 일반적인 컴포넌트라면 그러셔도 상관없습니다. 요런건 어디까지나 개인과 팀에 맞춰사용하면 되는거니깐요! 그러나 Next.js 에서는 페이지 컴포넌트나 로딩 또는 에러를 처리하는 컴포넌트의 경우 default로 내보내진 컴포넌트만 사용되도록 설정되어 있기 때문에 요런 점은 주의하시면 좋겠습니다.

Next.js 사전렌더링 이해하기 부분

0

27

2

모달 관련 질문

0

32

3

렌더링 관련 질문

0

76

2

중복으로 하나의 api를 요청할 때 캐싱 옵션 통일화

0

61

2

라우트 세그먼트 옵션 강좌 노트에 사소한 제보 남깁니다.

0

60

2

SSR시 context에 params말고 query를 사용하면 안되나요?

0

73

2

npx prisma db push 시 에러가 뜹니다.

0

92

3

vercel 배포를 실패하였습니다.

0

95

3

Image 컴포넌트 사용시 브라우저 콘솔에 경고는 왜 뜨는걸까요?

0

54

2

getServerSideProps 함수와 SSR의 관계

0

76

6

없는 페이지인데 풀라우트캐시로 저장이 되는 이유가 궁금합니다

0

58

2

실제 프로젝트에서 SSR 사용에 관해서 질문드립니다.

0

112

2

일반적인 nextjs project architecture에 대하여..

0

85

2

2.14 Search에서 작성한건 static이긴하지만 CSR이 아닌가요?

0

71

2

배포 시 오류 발생

0

85

2

백엔드 서버 오류납니다.

0

80

2

취약점 제거시 nestjs 버전 문제가 생길까요?

0

89

1

eslint.config.mjs 내 rules 어떻게 설정 하나요?

0

103

1

[book]/[id]/page.tsx 모달 띄울 때 성능 하락 현상은 ReviewList를 불러오면서 발생하는 문제 같습니다.

0

60

2

빨간줄 설정

0

75

2

익스텐션 질문

0

58

1

강의 들으면서 궁금한 부분 질문드립니다.

0

108

1

서버 배포 에러입니다.

1

98

2

[5.2) 풀라우트 캐시 2] fetch의 cache 옵션 기본값 질문: no-store/force-cache

1

102

2