Next.js
JSX 에서 길게 적어진 html을 컴포넌트 화 시키자
여기서 생각이 조금 들었는데 기존 React로 작성할 때는 컴포넌트를 거의 화살표 함수로 많이 사용 했는데 Next.js를 공부하는 지금 함수 선언식을 더 많이 사용하는 것 같다.
왜그럴까? 생각해서 찾아봤는데 딱히 막 구체적인 이유를 찾긴 힘들었고 대부분
1.함수형 컴포넌트에서 jsx 를 리턴하는 default export 함수는 함수선언문으로 정의한다.
2.그 외 함수들은 화살표 함수를 사용한다.
이렇게 사용하고 있는 것 같다.
funcion 이름() { return (JSX) }
식으로 만들어보자
이때 component화 하니 뭔가 깔끔해 졌다고 해서 눈에 보이는 거 전부 다 component화 할까? 생각하진 말자
component 단점 : component끼리 데이터 공유가 손이 많이 감
그러니 재사용이 잦은 html덩어리들을 주로 component로 만드는 게 좋음!
근데 사실상 여기를 보면 React 할 때랑 별 다를바 없긴 하다.
Next.js에는 컴포넌트 종류가 2개 있는데 서버와 클라이언트 컴포넌트이다.
그럼 차이가 뭘까?
큰 페이지들은 server component로 작성하고 js기능이 필요한 곳만 client component로 만들자
쉽게 말함녀 함수의 파라미터와 똑같다.
문법
<자식component 작명="전할데이터" />
DB를 통해 보통 데이터를 가져오는데 fetch,axios등을 사용해서 말이다. 이때 같은 데이터 요청이 여러개면 1개로 압축해준다.(deduplication기능)
아직 배우고 있는 곳이 React를 사용할 때와 매우 똑같아서 크게 달라진 점은 server 컴포넌트와 client 컴포넌트를 구분시키며 라우터를 쉽게 사용한다 정도 인 것 같다.