Front 102

[Hooks] useContext - React 배우기

React Context리액트의 하나의 컴포넌트에서 데이터를 생성하거나 업데이트하거나 다른 컴포넌트와 데이터를 공유해서 사용하는 여러 방법이 있습니다.state 와 props를 사용해서 컴포넌트 간에 데이터를 전달React Context API를 사용해서 컴포넌트 간에 데이터를 전달Redux, MobX, Recoil 등의 상태 관리 라이브러리를 사용useContext 란?React Context는 Component 트리 전체에 props를 전달하지 않고도 Component 데이터를 제공하는 방법입니다.Context는 전역 상태를 관리하기 위한 간단한 방법입니다.Context 문법React.createContext 함수를 사용하여 Context를 생성합니다.Context.Provider 컴포넌트를 만나면,..

Front/React 2024.03.20

타입 개요 및 개발환경 구성

타입 개요 및 개발환경 구성01. 타입스크립트란?TypeScript2012년 마이크로소프트에서 발표한 오픈소스 프로그래밍 언어로,자바스크립트의 기반의 정적 타입 문법을 추가한 프로그래밍 언어!02. 타입스크립트의 특징정적 타입의 컴파일 언어자바스크립트(동적 타입) : 변수의 타입 오류를 런타임(동작) 시점에 확인타입스크립트(정적 타입) : 변수의 타입 오류를 컴파일 시점에 확인자바스크립트로 변환(컴파일) 후 브라우저에나 Node.js 환경에서 동작03. 개발환경 구성- 프로젝트 생성npm init -y- 패키지 설치parcel : 웹 애플리케이션 번들러npm i -D parcel typescript{ "name": "ts-test", "version": "1.0.0", "descripti..

Front/TypeScript 2024.03.19

[Hooks] useReducer - React 배우기

useReduceruseReducer 란?useReducer 는 useState 보다 더 다양한 컴포넌트 상태를 관리하는 Hook 입니다. useState 는 컴포넌트 상태를 관리하는 가장 기본적인 Hook 이지만, useReducer 는 복잡한 상태 로직을 다루기에 더 적합합니다.컴포넌트에서 상태 변화 코드를 쉽게 분리할 수 있고, 상태 로직을 컴포넌트 바깥으로 빼내어 재사용할 수 있습니다.useReducer 사용법useReducer 는 다음과 같이 사용합니다.- 타입 정의const ACTION_TYPE1 = 'ACTION_TYPE1'const ACTION_TYPE2 = 'ACTION_TYPE2'- reducer 함수 정의const [state, dispatch] = useReducer(reducer,..

Front/React 2024.03.19

최적화 - React 배우기

최적화리액트에서의 최적화 기법은 불필요한 연산을 줄여 성능을 향상시키는 것입니다.리액트 공식 문서에서는 성능 최적화를 위한 방법을 다음과 같이 소개합니다.최적화 방법코드, 폰트, 이미지 등의 리소스를 압축합니다.메모이제이션을 이용하여 불필요한 연산을 줄입니다.메모이제이션메모이제이션이란 연산의 결과를 기억했다가 필요할 때 사용함으로써 불필요한 연산을 방지하는 것입니다.useMemo : 함수의 불필요한 재실행을 방지합니다.React.memo : 컴포넌트의 불필요한 리렌더링을 방지합니다.useCallback : 함수의 불필요한 재생성을 방지합니다.useMemo 사용하기문법 : useMemo(() => 연산 결과, [의존성 배열])useMemo는 React에서 값을 메모이제이션(caching)하여 성능을 최적화..

Front/React 2024.03.18

React를 이용한 todo list app 만들기

할 일 관리 앱 만들기0. 프로젝트 생성하기todo-Todo 디렉토리를 생성 후 프로젝트를 생성합니다.npx create-next-app@latest ./https://ko.react.dev/learn/start-a-new-react-project1. 컴포넌트 구조 설계하기2. 컴포넌트 제작- Header 컴포넌트 만들기// src/components/TodoHd.jsximport React from 'react';const TodoHd = () => { return ( 📝 할 일 관리 앱 2024.03.11 오늘의 할 일을 적어보세요. );};export default TodoHd;- TodoEditor 컴포넌트 만들기// src/components/TodoEdit..

Front/React 2024.03.14

useEffect, 생명주기 - React 배우기

라이프 사이클 (생명주기) 이해하기React에서 컴포넌트의 생명주기를 관리하는 것은 앱의 성능과 유지보수성에 중요한 영향을 미칩니다. 특히, 함수형 컴포넌트에서는 useEffect 훅을 사용하여 이러한 관리 작업을 수행합니다.- 뉴스 예제로 알아보는 라이프 사이클데이터를 불러와 화면에 표시하는 간단한 뉴스 목록 컴포넌트를 생각해볼 수 있습니다.생명주기 단계소셜 미디어 대시보드Mounting (마운팅)데이터 가져오기Updating (업데이팅)실시간 업데이트Unmounting (언마운팅)컴포넌트가 DOM에서 제거되는 단계마운트 (Mounting) - 태어나고이 컴포넌트는 useEffect 훅을 사용해 컴포넌트가 마운트될 때 뉴스 API에서 데이터를 한 번만 불러오고,이 데이터를 컴포넌트의 상태로 저장하여 화..

Front/React 2024.03.11

React 카운터 앱 만들기 - component, useState

카운터 앱 만들기 리액트를 이용한 숫자를 증가시키거나 감소시키는 앱을 만들어보자. 1. 프로젝트 생성 npx create-react-app counter-app cd counter-app npm start 2. 컴포넌트(Components) 생성 src 디렉토리에 Viewer.js 파일을 생성한다. // src/Viewer.js import React from 'react' function Viewer() { return ( 0 ) } export default Viewer src 디렉토리에 Counter.js 파일을 생성한다. // src/Counter.js import React from 'react' function Counter() { return ( + - ) } e..

Front/React 2024.03.04

React(리액트) 기본 기능 정리

리액트 기본기능 첫 컴포넌트 만들기 App.js 파일에 Header, Body, Footer 컴포넌트를 만들어보자. import React from 'react' const Header = () => { return ( Header ) } const Body = () => { return ( Body ) } const Footer = () => { return ( Footer ) } function App() { return ( ) } export default App 컴포넌트 분리하기 Header, Body, Footer 컴포넌트를 따로 파일로 분리해보자. // Header.js import React from 'react' const Header = () => { retu..

Front/React 2024.02.29

비동기 (Async) - 뉴스 API 데이터 가져오기 예제

React 비동기 처리1. 뉴스 API 데이터 가져오기- 뉴스 API 키 발급무료 뉴스 API 추천The Guardian APINew York Times API2. useEffect로 데이터 가져오기useEffect(() => { ... }, [deps])useEffect는 함수 컴포넌트에서 부수 효과를 수행할 수 있도록 하는 Hook이다. useEffect는 컴포넌트가 렌더링될 때마다 특정 작업을 수행하도록 설정할 수 있다.// src/News.jsimport React, { useEffect, useState } from 'react';function News() { const [news, setNews] = useState([]); useEffect(() => { fetch(..

Front/JavaScript 2024.02.29

스크롤 트리거 (Parallax Scrolling) 구현하기

Parallax Scrolling (CSS, JS, AOS, ScrollMagic, GSAP)패럴랙스 스크롤링은 웹사이트의 요소들이 서로 다른 속도로 움직이는 것레이어별 스크롤 속도를 다르게 하여 입체감을 주는 디자인 기법게임, 애니메이션 등에서 주로 사용되던 기법으로 인터랙티브한 웹사이트를 만들 때 사용javascript, css, 라이브러리 등을 이용하여 구현1. CSS를 이용한 패럴랙스 스크롤링css perspective 속성을 이용한 패럴랙스 스크롤링해당 요소의 z = 0 평면과 사용자 사이의 거리transform 효과를 주고자 하는 부모 요소에 적용perspective에 따른 변형 효과perspective: 100px; => 100px만큼 멀어져 보임perspective가 클수록 (거리가 멀수록..

Front/Library 2024.01.06
티스토리 친구하기