넥스트

728x90
반응형
·Next.js
1. Link 사용하기1) 선언하기import Link from 'next/link'next.js에서 Link는 아래와 같이 선언하여 사용한다.2) 사용하기 #{cat}({categoryCounts[cat]}) 그리고 Link는 a 태그를 포함하여 사용해준다. Link 태그 안에는 legacyBehavior를 써서 같이 사용해준다.3) 활용하기import Link from 'next/link'//생략 About us //생략export default Homehref : 실제 URL 주소이다.query : query string으로 보내고 싶은 데이터와 함께 보낼 ..
·Next.js
useOptimistic 이걸 활용하려고 하다가 생각보다 이해가 잘 안되서 글까지 쓰게 되었다. 이전의 쇼핑몰 프로젝트를 하면서 하트의 좋아요 버튼을 구현한 적이 있다. 그런데 바로바로 업데이트되지 않고 서버에는 데이터가 갔지만 사이트에서는 그게 보이기까지 걸리던가, 아니면 새로고침을 해서 서버에 전달됨을 알려야 했다.그러다가 이 글을 보게 되어 유익하다고 느꼈다.1. Optimistic이란?: "낙관적"이라는 뜻으로, 클라이언트가 서버에서 응답을 받지 않고도 낙관적으로 요청이 성공적으로 끝났다고 가정하는 것을 말합니다. 즉, 사이트에서 서버의 요청을 받은 것처럼 행동하는 것을 의미한다.예를 들어) 멀티플레이어 게임 서버를 생각해 봅시다. 만약 게임 클라이언트가 optimistic하게 동작하지 않는다면 ..
·Next.js
이번에 tailwindcss를 써봤는데, 왜 사람들이 많이 이용하는지 이번 경험으로 느끼게 되었다. 그래서 내가 느낀점을 서술해볼려고 한다.내 경우에는 next.js에서 Tailwind Css를 사용하기 위해서 설치하였다. 그래서 next.js에서 Tailwind Css를 사용하는 방법을 서술할 것이다.1. 프로젝트 만들기npx create-next-app@latest0 {my-project}→ next프로젝트를 최신버전으로 만든다.cd my-projectcode .2. Tailwind Css 설치1) 설치npm install -D tailwindcss postcss autoprefixernpx tailwindcss init -pnpm을 통해 종속성을 설치한다.tailwind.config.js : Tai..
·Next.js
: Incremental Static regeneration의 request는 page가 re-generate되도록 한다. revalidate 속성은 얼마동안에 한번 regeneration이 일어날지를 설정한다. 공식문서를 보다가 revalidate를 보고 궁금하게 생겨서 정리하게 되었다. revalidate는 말 그대로 재검증한다는 말이다. 개념을 보니 초를 줘서 이 초시간이 지나면 페이지가 업데이트가 된다는 말이었다. 그런데 초마다 업데이트가 된다면 과부하되지 않을까라고 생각했다. 그런데 참고사이트에서 해답을 얻게 되었다. 1) 자동 업데이트되는가? → 화면 요청이 없는 경우에는 rebuild가 되지 않는다. 2) 사용자가 validate초 이상을 페이지에 머물러야 업데이트되는가? → 기준이 buil..
·Next.js
: SWR은 vercel에서 제작한, 데이터를 가져오기 위한 모듈이다. Next.js에서 유독 많이 보이는 개념이라, 정리하고자 한다. 아마도 swr이 서버 사이드 랜더링도 되기 때문인 것 같다. 사용 import useSWR from 'swr' function Profile() { const { data, error, isLoading } = useSWR('/api/user', fetcher) if (error) return failed to load if (isLoading) return loading... return hello {data.name}! } key : 일반적으로 API URL을 말한다. fetcher : key값을 이용해 데이터를 가져오는 함수이다. fetch 혹은 axios를 이용해..
·Next.js
1. CRA와 CNA 비교하기 react와 Next.js가 생성한 프로젝트를 보면 다름이 보인다. react에서는 pages폴더가 없는데, next에는 존재한다. 여기에 파일을 만들면 자동으로 라우팅되어 url에 해당 파일의 이름을 치면 해당 사이트로 이동된다. 1) 페이지 비교하기(CRA) 개발자 도구를 열어 Network 탭을 눌러, 첫 페이지의 response탭을 보면 첫 페이지 요청으로 받아온 HTML문서의 내용을 확인해볼 수 있다. 보면 우리가 App.js 파일에 적어준 내용이 하나도 들어있지 않다. id가 root인 텅 비어있는 DIV 태그만 반환하고 있음과 밑에 번들링된 static/js 경로의 'bundle.js' 파일을 전달하고 있다. CSR에서 빈 HTML 문서를 먼저 반환하고, 그 후..
·Next.js
1. Dynamic Routes 동적 라우팅은 일반적으로 url을 pages/post/123으로 접근했다면 next.js에서는 pages/post/[params].js파일을 만들어서 pid를 담는다. import { useRouter } from 'next/router' const Post = () => { const router = useRouter() const { params } = router.query return Post: {params} } export default Post next/router모듈에서 useRouter를 가져와서 사용할 수 있다. useRouter에서 router로 변수를 선언해주고, router.query를 출력한다. 출력해보면 아래와 같이 나온다. 파일을 만들 때 해당..
·Next.js
1. Patterns layout : layout component를 생성하고 생성한 component를 상위 컴포넌트로 적용할 컴포넌트들을 감싸주면 된다. _app.js 파일이 지나치게 커지는 것을 막기 위하여 쓴다. Layout 컴포넌트를 만들어주고, App 컴포넌트에서 이를 사용한다. Head 컴포넌트 리액트에서 react-helmet으로 구현했던 것들을 Next.js에서는 간단히 Head 컴포넌트로 구현 가능하다. 2. Fetching Data public 폴더에 있는 파일들은 쉽게 import할 수 있다. Image next.js에서는 이미지 최적화를 위해 img 태그 대신 Image 태그를 사용한다. import Image from "next/image"; ... ... 3. Redirect ..
728x90
반응형
Uheeking
'넥스트' 태그의 글 목록