首页 > 解决方案 > 需要反应 createContext 参数

问题描述

我将使用 reacts context api 和 reducers。因为我找到了很多方法来实现这一点并且缺乏文档我不知道我是否做得对。我为了有一个全局状态我已经这样做了:

import {createContext, useReducer} from "react";
import {appReducer} from "../reducers/appReducer";


function lazyInitializer() {
    return {db: 1}
}

export const AppContext = createContext(); //Invalid number of arguments, expected 1 (defaultValue)

const AppContextProvider = (props) => {
    const [globalState, appDispatch] = useReducer(appReducer, null, lazyInitializer);
    return (
        <AppContext.Provider value={{globalState, appDispatch}}>
            {props.children}
        </AppContext.Provider>
    )
}
export default AppContextProvider;

我必须提供createContext默认值吗?这是使用延迟初始化的正确方法吗?它确实像上面那样工作。如果有更好的解决方案实现全局状态,请告诉我。顺便说一句,我不想​​使用 Redux 来保持项目简单。

标签: javascriptreactjsreducers

解决方案


推荐阅读