属性“ref”在类型“A”上不存在。ts(2339) - React、TypeScript

hel*_*eer 7 javascript typescript reactjs

错误:

类型“A”上不存在属性“ref”。ts(2339)

这是我的源代码

export default class A extends React.PureComponent<Props, State> {
  constructor(props: Props) {
    super(props);

    this.ref = React.createRef(); << ERROR HERE
Run Code Online (Sandbox Code Playgroud)

如何定义类型A来解决错误?

kin*_*ser 7

您必须ref在类主体中声明变量。

export default class A extends React.PureComponent<Props, State> {
   ref: React.RefObject<HTMLInputElement>;

   constructor(props: Props) {
      super(props);

      this.ref = React.createRef();
   }
}
Run Code Online (Sandbox Code Playgroud)

或者基本上删除构造函数并将逻辑移到外部。

export default class A extends React.PureComponent<Props, State> {
  ref = React.createRef();
Run Code Online (Sandbox Code Playgroud)