我正在使用React的Typescript。我無法理解如何使用refs,以便相對於refs引用的反應節點獲得靜態類型和智能感知。我的代碼如下。如何在與Typescript的反應中使用refs
import * as React from 'react';
interface AppState {
count: number;
}
interface AppProps {
steps: number;
}
interface AppRefs {
stepInput: HTMLInputElement;
}
export default class TestApp extends React.Component<AppProps, AppState> {
constructor(props: AppProps) {
super(props);
this.state = {
count: 0
};
}
incrementCounter() {
this.setState({count: this.state.count + 1});
}
render() {
return (
<div>
<h1>Hello World</h1>
<input type="text" ref="stepInput" />
<button onClick={() => this.incrementCounter()}>Increment</button>
Count : {this.state.count}
</div>
);
}}
謝謝@basarat。我試過你的解決方案,但我得到這個錯誤'類型元素不能分配鍵入'HTMLInputElement。屬性接受缺失類型元素'' –
可能是反應dom定義的較新版本的問題。在此期間用作斷言 – basarat
顯然,這裏並不強制使用「任何」。我看到的大多數例子都使用'HTMLInputElement'。只需說明顯而易見的內容,但如果您的引用位於React組件(即'PeoplePicker')上,則可以使用該組件作爲類型來獲取類型。 –