useState 를 통해 컴포넌트에서 바뀌는 값 관리
Hooks 종류 중 하나
리액트 패키지에서 useState
함수 불러오기
import React, { useState } from 'react'
const [현재 상태, Setter함수] = useState()
형식
Setter 함수는 파라미터로 전달 받은 값은 최신의 상태
객체 수정 시 직접 수정이 아닌 새로운 객체를 만들어서 변화를 주고, 그 상태를 이용
❌ inputs[name] = value;
⭕
setInputs({
...inputs,
[name]: value
});
마운트/언마운트/업데이트 시 할 작업 설정
useEffect(() => {
//마운트
return () => {
//언마운트
//useEffect 반환되는 함수는 cleanup 함수 (뒷정리)
//deps가 비어있는 경우에는 컴포넌트가 사라질 때 cleanup 함수가 호출
};
}, [deps]);
deps
에 특정 값 넣게 되면
deps
안에 특정 값이 있다면 언마운트시에도 호출deps
에 파라미터를 생략한다면
deps
가 빈배열인 경우
useEffect
안에서 사용하는 상태나, props
가 있다면
useEffect
의 deps
에 넣기(최신의 상태 가르키도록)useEffect
에 대한 뒷정리는 cleanup
함수 사용
마운트 시 작업
props
로 받은 값을 컴포넌트의 로컬 상태로 설정언마운트 시 작업
상태 업데이트 로직 분리
reducer(state, action)
action
은 업데이트를 위한 정보const [state, dispatch] = useReducer(reducer, initialState)
형식state
는 우리가 앞으로 컴포넌트에서 사용 할 수 있는 상태dispatch
는 액션을 발생시키는 함수VELOPERT님 블로그를 통해 공부한 내용을 정리하였습니다!