reactjs – React Typescript:没有状态/没有道具的React组件的类型

前端之家收集整理的这篇文章主要介绍了reactjs – React Typescript:没有状态/没有道具的React组件的类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经看过使用Typescript的React组件的多个示例:

class Foo扩展了React.Component< IProps,IState> {}

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

人们将这些类型设置为any,null,undefined,{},void等.这是我到目前为止看到的:

> class Foo扩展了React.Component< null,null> {}
> class Foo扩展了React.Component< any,any> {}
> class Foo扩展了React.Component< {},{}> {}
> class Foo扩展了React.Component< undefined,undefined> {}
> class Foo扩展了React.Component< void,void> {}
> class Foo扩展了React.Component< object,object> {}

这样做的最佳方式是什么?

更新:

>道具:

>无法使用void(https://github.com/Microsoft/TypeScript/issues/15409https://github.com/Microsoft/TypeScript/issues/15419),因为props对象初始化为{}

简单地说 – 类Foo将React.Component {}扩展为prop,并将状态初始化为{}

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 {}
原文链接:https://www.f2er.com/react/300762.html

猜你在找的React相关文章