useCallback, useMemo, React.memo
컴포넌트 성능을 실제로 개선할 수 있는 상황에서만 사용해야 한다.
useReducer
컴포넌트의 상태 업데이트 로직을 컴포넌트에서 분리시킬 수 있습니다.
reducer는 "현재 상태(state)"와 "액션 객체"를 파라미터로 받아와서 새로운 상태를 반환해주는 함수이다.
function reducer(state, action) {
// 새로운 상태를 만드는 로직
// const nextState = ...
return nextState;
}
사용법
const [state, dispatch] = useReducer(reducer, initialState);