打字稿中的 useContext 和 useReducer

时间:2021-03-26 13:38:38

标签: javascript reactjs typescript

我是 typescript 的新手,我正在实现 react useContext 和 useReducer。我正在学习教程,但在我的减速器函数中收到 Parameter 'action' implicitly has an 'any' type. 错误。

减速器功能

function reducer(state, action) { // error Parameter 'action' implicitly has an 'any' type.
     return { count: state.count + 1 }
}

CountProvider

   const [state, dispatch] = useReducer(reducer, {
    count: 0
   })

1 个答案:

答案 0 :(得分:2)

您必须将操作类型指定为 any 或通过通用形式执行。如果您想构建操作,您可以创建一个界面。

function reducer(state, action: { [key: string]: string|number }) { // error Parameter 'action' implicitly has an 'any' type.
    return { count: state.count + 1 }
}