const useStateReducer = (prevState, newState) =>
typeof newState === 'function' ? newState(prevState) : newState;
const useStateInitializer = initialValue =>
typeof initialValue === 'function' ? initialValue() : initialValue;
function useState(initialValue) {
return React.useReducer(useStateReducer, initialValue, useStateInitializer);
}
재구현하는 건 동작 방법을 배우기 위한 좋은 방식이다.