useState vs useRef vs 일반 JS 초기화

2024. 4. 15. 12:06·React

*GPT와의 채팅을 통해 정리한 글입니다.

 

리액트 컴포넌트 함수 내부에서 값을 저장하는 경우는 항상 발생합니다.
일반적으로 다음 세가지 방법을 통해 값을 저장합니다.

  1. useState
  2. useRef
  3. 일반 JS 초기화

이들의 특징과 차이에 대해 기록해두었습니다.

 

 

useState

const [count, setCount] = useState(0);
  • React 컴포넌트의 상태 관리를 위해 사용됩니다.
  • 상태를 변경하면 리렌더링이 발생합니다.
    → 그러므로 UI에 상태를 반영할 수 있는 것입니다.
  • 리렌더링이 발생해도 값이 유지됩니다.

useRef

const count3 = useRef(0);
  • DOM 요소를 참조하거나 지속성이 유지되는 값을 저장할때 사용됩니다.
  • 값 변경 시 리렌더링을 유발하지 않습니다.
  • 리렌더링이 발생해도 값이 유지됩니다.
  • react hook form 같이 UI에 관여하지 않고 값을 갱신하는 비제어 컴포넌트 값을 저장할 때도 활용됩니다.

일반 JS 초기화

const count2 = 0;
  • 일반적인 변수 또는 함수 선언 방법입니다.
  • 값 변경 시 리렌더링을 유발하지 않습니다.
  • 컴포넌트를 리렌더링 할때마다 재초기화됩니다.
    → 복잡한 로직이 포함될 경우 성능상 문제가 커질 수 있습니다.
    • useMemo(변수 초기화) 또는 useCallback(함수 초기화)을 사용합시다.
      → 이 둘은 의존성배열의 상태가 변할때 마다 재초기화 하며, 재초기화 전에는 이전에 초기화했던 변수(또는 함수)을 메모이제이션(캐싱)합니다.
저작자표시 비영리 변경금지 (새창열림)

'React' 카테고리의 다른 글

useEffect 사용시 주의해야 할 것들  (1) 2024.12.22
React Props: 원시값 vs 참조값 비교하기  (0) 2024.12.22
React DOM Element, ComponentElement  (0) 2024.04.15
React 18 주요 변경점  (0) 2024.04.15
검색 기능 구현 시 고려사항(API 호출 시점, debouncing)  (0) 2024.04.15
'React' 카테고리의 다른 글
  • useEffect 사용시 주의해야 할 것들
  • React Props: 원시값 vs 참조값 비교하기
  • React DOM Element, ComponentElement
  • React 18 주요 변경점
URE
URE
Skill: Javascript, ReactJS, Next.js, React Native ... *블로그 이전 작업(24. 04. 11 ~ 24. 04. 15)
  • URE
    Dev++
    URE
  • 전체
    오늘
    어제
    • 분류 전체보기 (51)
      • Browser (6)
      • OS (1)
      • Javascript (14)
      • React (19)
      • Next.js (4)
      • React Native (0)
      • Architecture (1)
      • Network (3)
      • 스크랩 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    참조타입
    상태관리라이브러리
    swr
    리덕스
    IP
    dataFetching
    javascript
    원시타입
    브라우저
    URL
    react18
    TCP
    Port
    리액트
    JS
    react concurrent
    자바스크립트
    react
    Redux
    리액트 코어
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
URE
useState vs useRef vs 일반 JS 초기화
상단으로

티스토리툴바