반응형

생각/react 10

리액트 Suspense & lazy

리액트 Suspense와 lazy는 코드 스플리팅을 쉽게 구현할 수 있도록 도와주는 유용한 기능입니다. 코드 스플리팅은 애플리케이션의 성능을 향상시키기 위해 필요한 코드를 필요한 시점에 불러올 수 있는 기술로, 큰 규모의 React 애플리케이션에서 매우 중요합니다. 리액트의 lazy() 함수는 동적 import()를 사용해 컴포넌트를 로드하는 데 사용됩니다. 동적 import는 컴포넌트가 필요할 때만 로드하도록 합니다. Suspense는 렌더링이 완료되기 전까진 로딩 인디케이터나 다른 컴포넌트를 렌더할 수 있게 해주는 기능입니다. 예제: App.js javascriptimport React, { lazy, Suspense } from 'react'; const MyComponent = lazy(() =>..

생각/react 2023.06.29

useMemo와 useCallback

useMemo와 useCallback은 React의 훅(Hook) 중 하나로, 불필요한 렌더링을 줄이는 데 도움이 되는 기능입니다. 각각의 훅에 대한 설명과 예시 코드를 제공하겠습니다. useMemo useMemo는 메모이제이션된 값을 반환하는데 사용됩니다. 복잡한 연산을 줄이기 위해 계산된 값을 메모리에 저장하여, 의존성 배열의 값이 변경될 때에만 다시 계산하도록 합니다. javascript import React, { useMemo } from 'react'; const ExpensiveComponent = ({ value }) => { const calcValue = useMemo(() => { // 복잡한 계산 const result = value * 1000; return result; }, [..

생각/react 2023.06.26

react소리 조절

React 애플리케이션에 다음과 같이 오디오/비디오 요소를 추가하세요. jsx Your browser does not support the audio element. 또는 비디오 요소를 추가합니다. jsx Your browser does not support the video element. 음량조절은 다음과 같이 필요한 함수와 이벤트 핸들를 만들어 설정할 수 있습니다. jsx import React, { useRef } from 'react'; const SoundVolumeControl = () => { const audioElement = useRef(null); const handleVolumeChange = (e) => { const volumeValue = e.target.value; audi..

생각/react 2023.06.23

React와 typescript와 next.js SSR

먼저, React와 TypeScript 및 Next.js를 사용하기 위해 필요한 패키지들을 설치해주세요.: npm install --save react react-dom next npm install --save typescript @types/react @types/node 그리고 최상위 폴더에 "tsconfig.json" 파일과 "next.config.js" 파일을 생성해주세요. tsconfig.json 파일에는 다음과 같이 작성하세요. json { "compilerOptions": { "target": "esnext", "module": "esnext", "jsx": "preserve", "lib": ["dom", "esnext"], "moduleResolution": "node", "allowJs..

생각/react 2023.06.16

react-query 기능 모음

데이터 페칭 (useQuery 훅 사용 예시) javascript import { useQuery } from "react-query"; import { getUser } from "./api"; function UserData({ userId }) { const { data, isLoading, isError } = useQuery(["user", userId], () => getUser(userId)); if (isLoading) return "Loading..."; if (isError) return "Error loading data"; return {data.name}; } 캐싱 (자동 캐싱) react-query는 기본적으로 쿼리 키에 따라 자동으로 캐싱을 관리합니다. 배경 동기화 (윈도우 포..

생각/react 2023.06.08

바닐라 js vs react (JSX, Babel) && react hooks

DOM : 이 문서는 DOM에 대한 개념을 간략하게 소개하는 문서이다: DOM 이 무엇이며, 그것이 어떻게 HTML, XML 문서들을 위한 구조를 제공하는지, 어떻게 DOM 에 접근하는지, API 가 어떻게 사용되는지에 대한 참조 정보와 예제들을 제공한다. DOM 이란? 문서 객체 모델(The Document Object Model, 이하 DOM) 은 HTML, XML 문서의 프로그래밍 interface 이다. DOM은 문서의 구조화된 표현(structured representation)을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하여 그들이 문서 구조, 스타일, 내용 등을 변경할 수 있게 돕는다. DOM 은 nodes와 objects로 문서를 표현한다. 이들은 웹 페이지를 스..

생각/react 2022.12.15

[주특기 과제]

🔐 자바스크립트에서 유사배열과 배열의 차이는 무엇일까요? 유사배열의 각 요소를 수정하고 싶다면 어떤 과정을 거쳐야할까요? 배열 : 하나의 변수에 할당해 관리하기 위해 사용하는 데이터 타입이다。 유사 배열 : 배열과 유사한 객체를 말한다. 유사 배열은 함수에서 처리 결과로 배열을 반환하고 싶을 때 또는, Array에서 기본으로 내포되어있는 기능을 제공하고 싶지 않거나 Array에 내포되어있지 않은 기능을 제공하고 싶을 때 사용한다. 1. 숫자 형태의 indexing이 가능할 것 2. length 속성을 포함할 것 수정 과정: 1-1. 간접호출 활용 1-2. Rest파라미터 활용 1-3. Array.from 메서드 활용 등을 활용하여 배열로 변환시켜 준 뒤 요소를 수정한다. 🔐 부모 컴포넌트 A와 자식 컴포..

생각/react 2022.09.30
반응형