쭈꾸미
코드짜는 쭈꾸미
쭈꾸미
전체 방문자
오늘
어제
  • 분류 전체보기 (122)
    • Journal (54)
      • Today I Learned (44)
      • 후기&회고 (4)
      • 개인 프로젝트 (4)
      • 독서일기 (2)
    • HTML, CSS (5)
    • Javascript (32)
    • Typescript (2)
    • Git, Github (4)
    • Algorithm (1)
    • React, Next.js (14)
    • API, Database (6)
      • API (0)
      • Database (1)
      • GraphQL (2)
      • Rest-API (1)
    • React-Native (1)
    • ETC (2)
    • OS (1)
      • 우분투 Ubuntu (1)

인기 글

티스토리

hELLO · Designed By 정상우.
쭈꾸미
React, Next.js

[React] setState - prevState (prev 인자)

React, Next.js

[React] setState - prevState (prev 인자)

2022. 2. 16. 14:32

prevState


setState를 이용해서 isOpen이라는 state값을 true/false로 바꾸는 함수를 구현해보자.

// isOpen이라는 state를 true/false로 스위칭한다.

const [ isOpen, setIsOpen ] = useState(false);
const onClickButton = () => {
	if (isOpen === false) {
    	setIsOpen(true)
    } else if (isOpen === true) {
    	setIsOpen(false)
    }
}

setState의 prev라는 인자를 이용하면 이 코드를 더 간단하게 줄일 수 있다.

const [ isOpen, setIsOpen ] = useState(false);
const onClickButton = () => {
    setIsOpen(prev => !prev)
}

setState 내부에 들어가는 prev라는 인자는 해당 state의 직전 값을 반환한다.

이 prev와 화살표 함수를 이용해 이전의 state값이 true였다면 false로, false였다면 true로 바뀌는 함수를 쉽게 구현할 수 있다.

저작자표시 (새창열림)

'React, Next.js' 카테고리의 다른 글

[React, Next.js] Apollo Client Caching을 통해 살펴보는 Next.js와 React의 렌더링 차이  (2) 2022.09.24
[React] 컴포넌트 생명주기 - Component Life Cycle (with useEffect)  (0) 2022.02.09
[React] 클래스형 컴포넌트 vs 함수형 컴포넌트  (0) 2022.02.09
[React] 자주 쓰는 React 기반 라이브러리, 프레임워크 모음  (0) 2022.02.05
[React/Typescript] Eslint / prettier 설치 및 기본 세팅  (0) 2022.01.24
  • prevState
'React, Next.js' 카테고리의 다른 글
  • [React, Next.js] Apollo Client Caching을 통해 살펴보는 Next.js와 React의 렌더링 차이
  • [React] 컴포넌트 생명주기 - Component Life Cycle (with useEffect)
  • [React] 클래스형 컴포넌트 vs 함수형 컴포넌트
  • [React] 자주 쓰는 React 기반 라이브러리, 프레임워크 모음
쭈꾸미
쭈꾸미
느리지만 확실하게 / 웹 프론트엔드 개발자 TIL : https://jooeun-k.github.io/TIL/

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.