2

我正在尝试添加新的钩子以在打字稿中做出反应(最后我检查过,它们在 DefinedTyped 上不可用),但它不起作用。

我制作了一个types/react.d.ts如下所示的文件:

import React from 'react';

declare module 'react' {
  function useState<T>(
    initialState: T | (() => T),
  ): [T, (newState: T | ((oldState: T) => T)) => void];
}

但是当我尝试使用它时,它不起作用。

在此处输入图像描述

4

2 回答 2

0

您可以在此处参考 React Hooks 的流类型 - https://github.com/facebook/flow/pull/7149/

它们应该与 TypeScript 非常相似。

在 Flow 中,它看起来像:

declare type BasicStateAction<S> = (S => S) | S;
declare type Dispatch<A> = A => void;

declare export function useState<S>(
  initialState: (() => S) | S,
): [S, Dispatch<BasicStateAction<S>>];
于 2018-11-11T21:38:33.657 回答
0

事实证明tsconfig.json,正如 Matt McCutchen 所建议的那样,该问题与配置有关。

于 2018-12-17T09:37:40.763 回答