전체 글

개발공부리뷰블로그
· Stack/React
useId란?useId 는 React18 에서 추가된 기능이다.useId는 react의 고유한 Id를 만들때 사용하는 훅이다.const id = useId();useId로 만든 Id는 form같은 요소에서 접근성 관련으로 사용한다.코드로 알아보기'use client';import { useId } from 'react';const UseIdEx = () => { return ( 이름 );};export default UseIdEx;다음과 같은 코드에서 라벨에 있는 내용을 클릭하면 input값이 선택되는 코드이다.문제가 되는 경우'use client';import { useId } from 'react';const UseIdEx = () => { const id = ..
· Stack/React
useReducer 란?useReducer는 useState와 동일하게 state값을 관리하는데 사용한다.다만 useReducer는 여러개의 하위값을 포함하는 state를 관리할때 사용한다.{ username: 'Wonyoung', email: 'wonyoung@example.com', hobbies: ['reading', 'traveling', 'coding'], friends: [ { name: 'Alice', age: 25 }, { name: 'Bob', age: 30 } ], notifications: [ { id: 1, message: 'Welcome to the platform!', read: false }, { id: 2, message: 'Your pro..
· Stack/React
useLayoutEffect란?useLayoutEffect와 useEffect는 거의 비슷한 역할을 한다.useEffect(() => { //...}, [state]) useLayoutEffect(() => { //...}, [state]) 구조도 비슷하고 기능도 비슷한데 다른점은 effect가 실행되는 시점이다.useEffect의 경우 화면이 업데이트된 이후에 effect가 실행된다.useLayoutEffect는 effect 실행 이후에 화면이 업데이트가 된다.useLayoutEffect를 통해 생기는 이점은 effect를 먼저 실행하기 때문에 사용자가 보는 UI를 보다 정교하게 보일 수 있다.코드로 알아보기'use client';import { useEffect, useLayoutEffec..
· Stack/React
useCallback 이란?useCallback 은 useMemo와 달리 값을 저장하는게 아닌 함수 그 자체를 memoization 해준다.const calculate = useCallback((num) => {return num + 1;} , [item]}코드가 다음과 같다면 num + 1 의 내용의 함수를 메모리에 저장하여 필요할때 마다 가지고 와서 사용한다.Javascript 에서 함수는 사실 객체의 한 종류이다.useCallback 의 구조const calculate = useCallback( 함수 , 의존성 배열}useCallback 은 위의 구조와 같은 형태를 가지고 있다.여기서 함수는 메모리에 저장되는 함수로 (num) => {return num + 1;} 라는 함수가 메모리에 저장된다. 이..
· Stack/React
useMemo 란?useMemo는 컴포넌트를 최적화(optimization) 하는 리액트 훅이다.컴포넌트 최적화의 훅은 useMemo 말고 useCallback 도 존재한다.useMemo에서 Memo는 Memoization 을 의미한다Memoization은 동일한 값을 리턴하는 함수를 반복적으로 호출하는 경우, 처음의 값을 메모리에 저장해서 함수를 호출할때 마다 메모리의 값을 불러오는 기법이다. 값을 캐싱해서 불러오는 것이라고 생각하면 된다.함수형 컴포넌트가 렌더링 되는 과정에서 생기는 문제함수형 컴포넌트는 렌더링 될때 마다 Component 함수를 호출하기 때문에 모든 변수를 초기화하는 과정을 겪는다.fuction calculate(){ return 999}function Component() { co..
WHITE_FROST
하얀하얀IT