私はReact Tutorialに従っていて、React.findDOMNode
の使い方に固執しました。TypeScriptでReact.findDOMNodeを使用
export class CommentForm extends React.Component<{}, {}> {
handleSubmit(e: React.FormEvent) {
e.preventDefault();
console.log(React.findDOMNode(this.refs['author']));
}
render() {
return <form className="commentForm" onSubmit={ e => this.handleSubmit(e) }>
<input type="text" placeholder="Your name" ref="author" />
<input type="text" placeholder="Say something..." ref="text" />
<input type="submit" value="Post" />
</form>;
}
}
呼び出しconsole.log(React.findDOMNode(this.refs['author']));
が私に戻って<input type="text" data-reactid=".0.2.0" placeholder="Your name">
コンソール内を与える:
は、ここに私のコードです。 しかし、入力要素の値(入力ボックスに入力したもの)を取得する方法を理解できません。
は、これまでのところ私はいくつか他の人と一緒に次のことを試してみた:インテリセンスで
React.findDOMNode(this.refs['author']).value; // "value" does not exist on type "Element"
React.findDOMNode(this.refs['author']).getAttribute('value'); // null
React.findDOMNode(this.refs['author']).textContent; // null
を、私は以下を参照してくださいすることができますが、私はまだここにコールするかを把握することはできません。
私はDefinitedlyTypedの型定義を使用しています。 また、私はフロントエンドの開発に新しいので、多分私のアプローチは間違っています。
ありがとう!私は実際に 'HTMLElement'と他のいくつかのタイプを試しましたが、うまくいきませんでした。 'value'を得るためには' HTMLInputElement'インターフェースを使わなければなりません。どのタイプが少し難しいかを知る。 –
'React.findDOMNode'を使用していて、 'findofDOMNode'が' typeof _React''に存在しません。何か案が? –
自分自身に回答しています... 'react-dom'から 'ReactDOM 'を使用して' ReactDOM.findDOMNode'が私の問題を解決しました –