inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라먹는 Next.js

2.6) 스타일링

module CSS 말고 Styled-Component로 css를 작성하는 방법은 어떤가요??

해결된 질문

255

mungyun1234

작성한 질문수 6

0

동료들과 협업할때 CSS를 작성하는 방법을 module로 할지 Styled-Component로 할지 고민인데요.

 

module로 하면 className에 계속 "style." 접두사를 넣어주어야 한다는 불편함이 있고

 

Styled-Component를 쓰게 되면 하나의 파일에 줄이 길어지는 단점과, 스타일링을 코드 한줄 넣고싶어도 하나의 스타일 컴포넌트를 만들어야 한다는 단점이 있더라고요.

강사님꼐서는 module을 추천하시기에 module을 강의에 넣으신걸까요??

react typescript next.js

답변 1

0

이정환 Winterlood

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

우선 강의에서 module css를 사용한 이유는 그것이 Next.js 공식문서에서 제안하고 있는 가장 기본적인 스타일 방법이기 때문입니다.

물론 요즘은 Tailwind를 사용하는게 더 일반적인 것 같긴 하지만 (그리고 저도 Tailwind를 가장 자주 활용하긴 하지만 ㅎㅎ...) 그렇다고 Tailwind로 갑자기 강의를 진행하면 다른 스타일링 방법을 사용하고 계신 분들께 또 다른 어려움이나 번거로움을 줄 수 있을거라 생각했습니다. 그리고 그런 어려움은 우리 강의에서는 굳이 필요하지 않다고 생각했어요 강의의 목적이 Next.js의 기능과 개념이기 때문이죠!

추가로 말씀해주신 Styled Component 또한 훌륭한 스타일링 방법이지만 이런 CSS-in-JS 방법들은 아쉽게도 아직 Next.js의 서버컴포넌트 환경에서 정식 지원되지는 않는걸로도 알고 있어요 ㅠㅠ 자세한 사항은 다음 문서를 참고하시면 더 좋을 것 같아요!

https://nextjs.org/docs/app/building-your-application/styling/css-in-js

1

mungyun1234

헉 정식 지원되지 않는다는 이야기는 처음 알았네요 ㅎㅎ...ㅜ
문서 참고해보겠습니다 감사합니다!

버셀로 서버 배포 후 접속 시 500 에러 발생

0

66

2

컴포넌트와 레이아웃

0

55

2

@/styles/globals.css'

0

51

2

풀라우트캐시 동작 원리에서 데이터 캐시 관련 질문

0

71

2

next.js 프로젝트

0

68

1

Next.js + Tanstack Query BFF 구조 질문

1

82

2

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

0

84

2

모달 관련 질문

0

88

3

렌더링 관련 질문

0

108

2

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

0

97

2

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

0

95

2

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

0

107

2

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

0

131

3

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

0

150

3

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

0

93

2

getServerSideProps 함수와 SSR의 관계

0

118

6

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

0

93

2

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

0

145

2

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

0

120

2

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

0

101

2

배포 시 오류 발생

0

111

2

백엔드 서버 오류납니다.

0

107

2

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

0

117

1

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

0

130

1