55 words
1 minutes
react/tips
2025-02-22 20:29:56
2025-12-24 23:45:46

1. 使用useReducer 实现useState#

const useState = ( initialState) => {
    const [state,dispatch] = useReducer((prev,action)=>{
        return typeof action === 'function'?action(prev):action;

    },initialState) 
    return [state,dispatch] as const
}

2. 使用useState 实现useReducer#

const useReducer = (reducer, initialState) => {
    const [state,setState] = useState(initialState)
    const dispatch = useCallback((action)=>{
        setState(reducer(state,action))
    },[state])
    return [state,dispatch] as const
}
react/tips
https://0bipinnata0.my/posts/react/tips/
Author
0bipinnata0
Published at
2025-02-22 20:29:56