类型 'IStateTypes' 必须有一个返回迭代器的 '[Symbol.iterator]()' 方法 TS2488 [反应,打字稿]

问题描述

目前我正在尝试在 React Hooks 中创建全局状态但遇到问题。

enter image description here

我现在遇到的问题是它在唠叨[Symbol.iterator](。不知道如何解决这个问题。因为我目前正在试验 React Hooks 来创建一个全局状态。问题当我尝试将 useReducer 移动到单独的 Store.tsx 文件时发生。

这里是代码片段的链接

Link to CodeSandbox

解决方法

问题在于您如何在 Store.tsx 中定义您的 context。您给 createContext 初始状态的初始值,因此它推断上下文的类型为 IStateTypes,但随后您传递给提供程序的值 [state,dispatch],这显然不是 { {1}}

更改您的 IStateTypes 以为其指定与您传递给值的内容相匹配的类型,例如:

createContext