在我的非tyepscript反应组件中我有
componentWillMount() {
this.delayedSearch = _.debounce((val) => {
this.onQuerySearch(val);
}, 1000);
}
用于在输入字段上进行debouncing键入。然后在输入字段中我有<input onChange={event => this.delayedSearch(e.value)}>
但是,现在,当我切换到Typescipt时,我对_.debounce
的分配给了我一个错误:
Property 'delayedSearch' does not exist on type 'UserSearch'.
我该如何解决这个问题?
答案 0 :(得分:2)
那是因为你的班级没有声明拥有这个delayedSearch
属性,因此编译器无法理解这个属性是什么。
在课堂上你应该有:
class MyComponent extends React.Component<MyProps, MyState> {
private delayedSearch: (val: string) => void;
componentWillMount() {
// should be fine now
this.delayedSearch = _.debounce((val) => {
this.onQuerySearch(val);
}, 1000);
}
}