TS2740类型由于使用TypeScript应用程序的React Native中的ReadOnly <MyInterface>错误而缺少以下属性

rom*_*n21 4 typescript react-native

由于StatelessComponent不推荐使用,因此我尝试将所有组件转换为类。

我有一个界面,例如:

interface MyInterface{
    prop1: number;
    prop2: boolean;
}
Run Code Online (Sandbox Code Playgroud)

我在课堂上使用它:

class MyComponent extends React.Component<MyInterface> {
   ...
   public render(){...}
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这样使用时MyComponent

<MyComponent 
    prop1={3}
    prop2={false}
/>
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

TS2740:类型{prop1:3,prop2:false}缺少ReadOnly类型的以下属性:render,context,setState,forceUpdate和另外3个属性。

有什么解决方法吗?

rom*_*n21 7

我终于通过将类的声明更改为来解决了这个问题class MyComponent extends React.Component<any, MyInterface>

  • 非常确定这是错误的,第一个参数用于Props,第二个用于State (3认同)