React更新后useReducer钩子需要3个参数

Not*_*Pr0 1 typescript reactjs react-hooks

我在更新 React 和 @types/react 版本时遇到问题16.9.0(如果我升级更多,这个问题仍然存在)。它说:Expected 3 arguments, but got 2.

代码:

const [state, dispatch] = React.useReducer<State<D>, Action<D>>(reducer, {
    loading: false,
    data: undefined,
    error: undefined
  });
Run Code Online (Sandbox Code Playgroud)

我试图找到第三个参数是什么,但我发现它只是可选的。也许有人有同样的问题?

小智 6

这应该在没有类型变量的情况下定义State<D>, Action<D>

const [state, dispatch] = React.useReducer(reducer, {
    loading: false,
    data: undefined,
    error: undefined
});
Run Code Online (Sandbox Code Playgroud)