React 정리(11)
-
리코일이란
1. Atom의 본질Recoil의 핵심은 Atom입니다. Atom은 Recoil 상태 관리 시스템에서 가장 기본적인 단위로, React 애플리케이션 내에서 전역 상태를 관리하는 컨테이너 역할을 합니다.Atom의 특징초기값:Atom은 기본값(default)을 가지며, 이는 빈 깡통에 첫 번째로 채워지는 내용과 같습니다.초기값은 상태가 아직 설정되기 전의 기본 상태를 정의합니다.예를 들어, 로그인 상태 관리라면 isAuthenticated: false, 사용자 정보는 비어 있는 문자열이나 null로 설정됩니다.상태 저장소:Atom은 React 컴포넌트들 간의 데이터를 공유하기 위해 사용됩니다.여러 컴포넌트에서 Atom을 구독할 수 있으며, 한 곳에서 상태를 업데이트하면 모든 구독 컴포넌트가 동일한 값을 공유..
2024.12.03 -
Hydration이란
1. Hydration이란?Hydration은 서버에서 생성된 HTML을 브라우저에 표시한 뒤, React가 이를 읽고 동적인 기능(이벤트 처리, 상태 관리 등)을 연결하는 과정입니다.React 앱이 서버 사이드 렌더링(SSR) 된 경우, HTML은 빠르게 화면에 표시되지만, 이 상태에서는 동적인 기능이 작동하지 않습니다. 2. 왜 Hydration이 중요할까?Hydration은 SSR과 클라이언트 렌더링의 장점을 모두 결합한 기술입니다.빠른 초기 화면 표시: 서버가 완성된 HTML을 보내므로, 사용자는 빈 화면이 아닌 완성된 페이지를 바로 볼 수 있습니다.동적 기능 활성화: Hydration을 통해 React의 인터랙티브한 기능(클릭, 상태 변경 등)이 동작하게 됩니다. 3. Hydration의 과정서..
2024.11.22 -
useState, useEffect, useMemo 의 차이
React에서 useState, useEffect, useMemo는 각각 상태 관리, 컴포넌트의 라이프사이클 그리고 성능 최적화를 위해 사용되는 중요한 Hooks입니다.이 세 Hook은 서로 다른 목적을 가지고 있지만, 함께 사용하면 React 앱의 기능과 성능을 크게 향상시킬 수 있습니다. 1. useStateuseState는 함수형 컴포넌트에서 상태를 관리하기 위해 사용되는 Hook입니다. 상태는 컴포넌트가 사용자와 상호작용하며 변경해야 할 데이터, 예를 들어 사용자의 입력, 클릭 상태, 선택한 항목 등을 나타냅니다.사용 방법useState는 상태의 초기값을 인자로 받으며, 상태 값과 그 값을 업데이트할 함수를 반환합니다.import React, { useState } from 'react';func..
2024.11.08 -
React로 설문조사 페이지 만들기 (1)
안녕하세요 우선 환경 설정부터 따라해 보겠습니다.우선 폴더를 하나 만들어 주고 vscode를 들어가서 폴더를 열어줍니다.그리고 터미널을 열고 npm create vite@latest를 쳐줍니다. 이런식으로 하시면 됩니다. 그리고 App.css, index.css를 지워줍니다.그다음 src폴더안에 pages폴더와 components 폴더를 만들어 줍니다.components 폴더안에는 surveyData.jsx를pages폴더안에는 ServeyPage.js를 만들어줍니다. 설문조사 구성은 이런식으로 하나의 질문에 번호의 답변이 있고 그 답변의 대한 질문이 또 있고이런식의 경우의 수를 생각하면서 구성하면 됩니다 surveyData.jsx // 첫 번째 질문: 음식 종류export const foodCategor..
2024.08.30 -
React Query
https://youtu.be/n-ddI9Lt7Xs?si=h-HGi7XTRU2qcM8I 기존상태 관리 라이브러리는 비동기 및 서버 상태 관리에 적합하지 않습니다. 서버상태란?클라이언트에서 제어하지않거나 소유하지 않은 위치에서 관리됩니다.feching 및 updating을 위해 비동기 API 가 필요합니다.소유권이 공유되므로 사용자가 모르는 사이에 다른 사용자가 변경할 수 있습니다.주의하지 않으면 애플리케이션에서 "out of date" 상태가 될 수 있습니다. 서버상태에서 생기는 문제캐싱같은 데이터 요청 중복 제거언제 "out of date" 되는지 알아내기out of date된 데이터 백그라운드에서 업데이트최대한 빠르게 업데이트 반영하기pagination,lazy loading 등 성능 최적화서버 ..
2024.05.09 -
나만의 레시피 기록 사이트 만들기(프론트+ 백엔드)
나만의 레시피 기록 사이트 Front End 작업내역순서 1. 최초 파일셋팅 (Page 폴더생성) 2. 테일윈드 css 도입 테일윈드 패키지 설치 설정 파일 추가 npm install -D tailwindcss postcss autoprefixer npx tailwindcss init -p tailwind.config.js에 다음 내용 추가 /** @type {import('tailwindcss').Config} */ export default { content: [ "./index.html", "./src/**/*.{js,ts,jsx,tsx}", ], theme: { extend: {}, }, plugins: [], } 내 css파일에 다음 내용 추가 index.css @tailwind base; @t..
2024.02.03