这是我第一次使用useReducer
和useContext
与Typescript
,我正在创建一个简单的计数器。我试图更新count
使用递增和递减分派,但它不改变,并没有在终端错误。
下面是codesandbox的链接:codesandbox
谢谢你
这是我第一次使用useReducer
和useContext
与Typescript
,我正在创建一个简单的计数器。我试图更新count
使用递增和递减分派,但它不改变,并没有在终端错误。
下面是codesandbox的链接:codesandbox
谢谢你
1条答案
按热度按时间a8jjtwal1#
当使用上下文时,
Provider
需要位于组件树中比消费者更高的位置。代码中最上面的组件是App
,它会立即尝试执行useContext(CountContext)
。但由于它上面没有提供程序,App只是获取上下文的默认值,这意味着dispatch
是一个空函数() => {}
。你需要把你的组件分开。在树的顶部附近呈现提供程序,然后在树的更下方使用它。例如: