Ich folge dem React Tutorial und blieb stecken, wie man React.findDOMNode
verwendet.Verwenden von React.findDOMNode in TypeScript
Hier ist mein Code:
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>;
}
}
Aufruf console.log(React.findDOMNode(this.refs['author']));
gibt mir zurück <input type="text" data-reactid=".0.2.0" placeholder="Your name">
in der Konsole. Ich kann jedoch nicht herausfinden, wie der Wert des Eingabeelements abgerufen wird (was ich in das Eingabefeld eingegeben habe).
Bisher habe ich folgendes zusammen mit ein paar anderen versucht:
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
In intellisense ich folgendes sehen kann, aber ich kann immer noch nicht herausfinden, was hier zu nennen.
Ich verwende die Typdefinitionen von DefinitedlyTyped. Ich bin auch neu in der Front-End-Entwicklung, also ist mein Ansatz vielleicht falsch.
Danke! Ich habe 'HTMLElement' und ein paar andere Typen ausprobiert, aber sie haben nicht funktioniert. Ich sehe jetzt, dass Sie die 'HTMLInputElement' Schnittstelle verwenden müssen, um 'Wert' zu erhalten. Zu wissen, welcher Typ ein wenig schwierig ist. –
Ich verwende 'React.findDOMNode 'und bekomme' findDOMNode' nicht auf '' typeof _React''. Irgendeine Idee? –
Beantworte mich selbst ... benutze 'import * als ReactDOM von 'react-dom';' und dann 'ReactDOM.findDOMNode' löste mein Problem –