React 打字稿,类型“typeof TodoFilterItem”上不存在属性“propTypes”。TS2339

Mic*_*ant 1 typescript reactjs react-proptypes

我有一个界面

interface ITodoFilterItem  {
  name: string,
  filter: string,
  filterTodos: any
}
Run Code Online (Sandbox Code Playgroud)

以及引用它的同一个文件中的一个类

class TodoFilterItem extends Component<ITodoFilterItem> {
  constructor (props:ITodoFilterItem) {
    super(props);
    this.handleFilter = this.handleFilter.bind(this);
  }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在这个文件的底部添加 propTypes 时

TodoFilterItem.propTypes = {
  name: PropTypes.string,
  filter: PropTypes.string,
  filterTodos: PropTypes.any
}
Run Code Online (Sandbox Code Playgroud)

我得到:


Property 'propTypes' does not exist on type 'typeof TodoFilterItem'.  TS2339
Run Code Online (Sandbox Code Playgroud)

仅供参考:我import PropTypes from 'prop-types';在顶部

lux*_*lux 5

TS 要求在类定义中初始化所有静态属性。将以下内容添加到您的课程中,以确保 TS 可以正确分析课程。

static propTypes: {
   name: Requireable<string>;
   filter: Requireable<string>;
   filterTodos: Requireable<any>;
};
Run Code Online (Sandbox Code Playgroud)
static propTypes: {
   name: Requireable<string>;
   filter: Requireable<string>;
   filterTodos: Requireable<any>;
};
Run Code Online (Sandbox Code Playgroud)