Skip to content

[React] useState 和 useReducer 的相互实现 #46

Open
@PeterChen1997

Description

@PeterChen1997

useReducer 实现 useEffect

const useState = (initState) => {
    const reducer = (prev, action) => {
        return typeof action === "function" ? action(prev) : action;
    };

    return useReducer(reducer, initState);
};

useEffect 实现 useReducer

const useReducer = (reducer, initState) => {
    const [state, setState] = useState(initState);

    const dispatch = (action) => {
        setState((prev) => reducer(prev, action));
    };

    return [state, dispatch];
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions