javascript - 需要反应 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 来保持项目简单。
解决方案
推荐阅读
- javascript - 基石工具不起作用(遵循文档后)
- reactjs - 当你运行时,npm start,index.js 是如何被拾取运行的
- r - R在修改时是否复制整个矩阵?
- email - 用于电子邮件的 Zurb 基金会:为小型设备隐藏一些容器
- python - 如何打印这个整数?
- python - plt.imshow() 没有显示正确的掩码数组(np.ma.masked_where())
- excel - Excel VBA 的 InStr 函数中可以使用单词通配符或正则表达式吗?
- c# - 想要在 Windows 服务启动和停止时刷新我在 c# windows 窗体中的标签。我是 C# 的初学者
- docker - SEO URL 在使用 Docker 的 OpenCart 2.3 中出现 404 错误
- sql-server - T-SQL 从字符串中提取数字以及介于两者之间的所有内容