일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- object
- DOM
- 우아한테코톡
- gitCLI
- ES5+
- 변수
- ES6+
- 선택자
- JavaScript
- AI
- JS
- array
- 함수
- es6
- github
- git
- API
- next.js
- CSS
- dev
- hooks
- This
- 최적화
- html5
- Python
- developerlife
- hatso
- 햇소
- react
- learn next.js
- Today
- Total
목록분류 전체보기 (99)
codinghatso

이번 장에서 배울 내용 * 사용자 정의 글꼴을 추가하는 방법 next/font. * 이미지를 추가하는 방법 next/image. * Next.js에서 글꼴과 이미지가 최적화되는 방법. 글꼴을 최적화하는 이유 글꼴 파일을 가져와서 로드해야 하는 경우 성능에 영향을 미칠 수 있습니다. Cumulative Layout Shift 줄여서 CLS라고 불리는 레이아웃 변경 횟수는 안정적인 Core Web Vitals 측정항목이다. 이는 시각적 안정성을 측정하는 데 있어 중요한 사용자 중심 측정항목이다. 예를 들면 링크나 버튼을 탭 하려고 하는데 손가락이 닿기 직전에 링크가 이동하여 다른 것을 클릭하게 되는 피해가 일어날 수 있습니다. 글꼴의 경우 브라우저가 처음에 텍스트를 대체(fallback) 하거나 system..

개요 스타일링 : Next.js에서 응용프로그램 스타일을 지정하는 다양한 방법. 최적화 : 이미지, 링크 및 글꼴을 최적화하는 방법. 라우팅 : 파일 시스템 라우팅을 사용하여 중첩 레이아웃 및 페이지를 만드는 방법 데이터 가져오기 : Vercel에서 데이터베이스를 설정하는 방법 및 가져오기 및 스트리밍 모범 사례. 검색 및 페이지 지정 : URL Search Params를 이용한 Search 및 Pagination 구현 방법 데이터를 변형하는 중 : React Server Actions를 사용하여 데이터를 변경하고 Next.js 캐시를 다시 확인하는 방법. 404 오류를 찾을 수 없습니다. 양식 점증 및 접근성 : 서버 측 양식 검증 방법 및 접근성 향상을 위한 팁 인증 : 및 미들웨어를 사용하여 응용프..

개념 페이지, 라우팅, 서버 사이드 렌더링 같은 요소들을 파악할 것. 간단한 앱 만들기 앱을 만들어보며 페이지 설정, 이동, 정적 데이터 활용을 실제로 적용해 볼 것. 고급 기능 개념을 이해했다면 API라우트, 데이터 가져오기, 동적 라우팅과 같은 고급 기능을 사용해 볼 것. React 컴포넌트 통합 React 컴포넌트를 Next.js 프로젝트에 통합해 볼 것. 이를 통해 Next.js와 React가 어떻게 원활하게 작동하는지 확인하기. 성능 최적화 Next.js에 특화된 성능 최적화 기술에 대해 알아보기. 자동 코드 분할과 캐싱과 같은 기능 활용. 앱 베포 Vercel과 같은 플랫폼을 사용해 베포 하는 방법을 익혀보기. 업데이트 유지 및 커뮤니티 계속 바뀌는 웹 기술 특징을 고려해 최신 정보를 주시하는..

https://ko.legacy.reactjs.org/docs/create-a-new-react-app.html#nextjs 새로운 React 앱 만들기 – React A JavaScript library for building user interfaces ko.legacy.reactjs.org Next.js는 인기 있는 경량의 프레임워크로 React로 만들어진 스태틱 서버 렌더링 애플리케이션입니다. 기본적으로 스타일링과 라우팅 해결책을 가지고 있으며, 사용자가 Node.js를 서버 환경으로 사용하고 있다고 생각합니다. https://nextjs.org/learn Learn Next.js | Next.js by Vercel - The React Framework Next.js by Vercel is th..

https://react-hook-form.com/ React Hook Form - performant, flexible and extensible form library Performant, flexible and extensible forms with easy-to-use validation. react-hook-form.com React-Hook-Form 라이브러리를 사용하는 이유 직관적인 기능을 제공 패키지 크기가 작다 재렌더링 수를 최소화하고 유효성 검사 계산을 최소화 종속성이 없는 작은 라이브러리 직관적인 UI 코드의 양이 줄어든다. import React from "react"; import { useForm } from "react-hook-form"; const HeaderContent ..

발생한 문제 styled-components에서 styled component에 전달된 props 중에서 HTML 요소에 해당하지 않는 (props로 전달되지 않는 isDarkMode와 같은 속성이 감지됐다.)는 경고 메시지를 만나서 해결하려고 합니다. 즉, 해당 속성은 브라우저에 직접 적용되지 않는데도 전달되고 있다는 뜻입니다. Transient props styled-components에서 styled component에만 전달되고 HTML에는 전달되지 않는 props를 생성할 수 있습니다. 이를 위해서는 '$' 접두사를 사용하면 됩니다. 결론은 프롭이 스타일시트에만 필요하고 DOM으로 프롭을 전달할 필요가 없다면 '$'명시적으로 붙여서 사용할 필요가 있다는 것입니다. 해결한 코드 const Todo..

theme.js import { createGlobalStyle } from "styled-components"; export const GlobalStyle = createGlobalStyle` @import url('https://fonts.googleapis.com/...'); body{ font-family: 'Dongle', sans-serif; ... } `; export const theme = { colors: { ... }, spacing: { ... }, }; 코드의 구조를 살펴보시면 GlobalStyle과 theme를 export 해서 적용시키고자 하는 파일에서 import 해서 사용하면 됩니다. styled-components 라이브러리를 사용해서 적용시키고자 한다면, 위 코드처럼 ..

Theme 정의하는 방법 테마 객체를 만들어 일관성 있는 디자인 시스템을 구축하는 방법입니다. 유지보수가 용이하며, 생산력을 높여줄 수 있는 방법입니다. // theme.js export const theme = { colors: { primary: '#3498db', secondary: '#2ecc71', text: '#333', background: '#ecf0f1', }, spacing: { small: '8px', medium: '16px', large: '24px', }, }; // App.js import React from 'react'; import { ThemeProvider } from 'styled-components'; import { theme } from './theme'; im..