自定义 Hook 必须以 “use” 开头吗?**必须如此。这个约定非常重要。不遵循的话,由于无法判断某个函数是否包含对其内部 Hook 的调用,React 将无法自动检查你的 Hook 是否违反了 Hook 的规则。
function useHookReducer(reducer, initState={}) {
const [state, setState] = useState(initState)
function dispatch(action) {
const nextState = reducer(action)
setState(nextState)
}
return [state, dispatch]
}