React + Typescript:无状态/无道具的React组件的类型

我看过使用Typescript的React组件的多个示例:

class Foo extends React.Component<IProps, IState> {}

当我们既不使用道具也不使用国家时,似乎没有明确的约定。

人设这些类型anynullundefined{}void ,etc.This就是我迄今为止看到:

  1. class Foo extends React.Component<null, null> {}
  2. class Foo extends React.Component<any, any> {}
  3. class Foo extends React.Component<{}, {}> {}
  4. class Foo extends React.Component<undefined, undefined> {}
  5. class Foo extends React.Component<void, void> {}
  6. class Foo extends React.Component<object, object> {}

最好的方法是什么?

    • void 使用{}

只需做- class Foo extends React.Component {}初始化prop和state即可{}

回答:

来自https://github.com/DefinitelyTyped/DefinitelyTyped/blob/15b7bac31972fbc081028937dfb1487507ca5fc9/types/react/index.d.ts#L199-L200

interface Component<P = {}, S = {}> extends ComponentLifecycle<P, S> { }

道具和状态被初始化为{},因此对于没有状态或道具的组件,我们可以简单地执行以下操作:

class Foo extends React.Component {}

以上是 React + Typescript:无状态/无道具的React组件的类型 的全部内容, 来源链接: utcz.com/qa/417027.html

回到顶部