Hooks
훅의 규칙
useState
import { useState } from 'react'
const [ state, setState ] = useState(initialState)useState의 내부의 모습을 구현한 모습
const React = function () {
const global = {}
let index = 0
function useState(initialState) {
if(!global.states) {
global.states = []
}
const currentState = global.states[index] || initialState
global.states[index] = currentState
const setState = (function () {
// Closer
let currentIndex = index
return function (value) {
global.states[currentIndex] = value
}
})
}()
index = index + 1
return [currentState, setState]
}게으른 초기화
useEffect
의존성 배열
useEffect 구현
useEffect 주의할 점
useEffect의 콜백 인수로 비동기 함수 넣기
useMemo
useCallback
useMemo를 이용하여 useCallback 구현
useRef
useRef 구현
useContext
Context란
상위 콘텍스트 존재 여부 체크
useContext 주의할 점
useReducer
useReducer의 목적
useReducer 구현
useLayoutEffect
useLayoutEffect 실행순서
사용자 정의 훅
고차 컴포넌트
고차 컴포넌트 사용 시, 주의할 점
사용자 정의 훅과 고차 컴포넌트 중 선택 방법
사용자 정의 훅을 사용하는 경우
고차 컴포넌트를 사용하는 경우
마지막 업데이트