首页 > 解决方案 > 如何检查 React 基础组件中的状态参数

问题描述

我使用 React 和 TypeScript。

我准备了 BaseComponent 类女巫是我所有反应组件的基类

class BaseComponent<P, S> extends React.PureComponent<P, S> {
   public renderReactLoadScreen() {
      return(
      this.state.isLoading &&  <LoadScreen />
      )
   }
}

我想像这样使用它:

class Register extends BaseComponent<LoginProps, any>{
   ...
   public render() {
      return(
        <React.Fragment>
            {super.renderLoadScreen()}
            ...
        </React.Fragment>
      )
   }
}

但我得到错误:

Property 'isLoading' does not exist on type 'Readonly<S>

标签: reactjstypescript

解决方案


请注意,您应该指定状态类型,例如:

interface SampleState {
    isLoading: boolean;
}

class Register extends BaseComponent<LoginProps, SampleState>{
   ...
}

推荐阅读