Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Typescript中将空接口指定为泛型参数?_Typescript_Generics_Eslint - Fatal编程技术网

如何在Typescript中将空接口指定为泛型参数?

如何在Typescript中将空接口指定为泛型参数?,typescript,generics,eslint,Typescript,Generics,Eslint,我在Typescript中有一个React组件。此组件具有状态,但没有属性。我有以下代码: interface State { ... } class MyComponent extends React.Component<{}, State> { ... } 作为第一个泛型参数,我得到了另一个警告,说空接口与{}相同 那么,我该怎么办?我不能使用从不,因为它会导致一大堆其他错误,请-这在这里真的没有意义。除了禁用禁止类型规则,还有其他选择吗?假设您希望组件能够作为其他组件的父组

我在Typescript中有一个React组件。此组件具有状态,但没有属性。我有以下代码:

interface State { ... }

class MyComponent extends React.Component<{}, State> { ... }
作为第一个泛型参数,我得到了另一个警告,说空接口与
{}
相同


那么,我该怎么办?我不能使用
从不
,因为它会导致一大堆其他错误,请-这在这里真的没有意义。除了禁用
禁止类型
规则,还有其他选择吗?

假设您希望组件能够作为其他组件的父组件,那么您可能希望接受
子项
键,即使它没有其他道具

您的代码将如下所示,不会传递一个空的道具规范

class MyComponent extends React.Component<{ children?: ReactNode }, State> { ... }
类MyComponent扩展了React.Component{…}
我不使用react,所以我不确定作为道具类型的目的是什么,但是如果你是故意这样做的,并且理解你在做什么,那么你对
禁止类型的配置可能太激进了。我使用
{}
来表示“没有属性”使用
unknown
作为你的道具类型。如果你没有在tsconfig中使用严格模式,你可以使用
unknown
never
作为
any
旁边的类型。jsonI可以使用unknown,但在这里没有什么意义,因为接口是完全已知的-它只是空的。
class MyComponent extends React.Component<{ children?: ReactNode }, State> { ... }