hoReact.findDOMNode si presenta come indefinita
<div id="wrapper"></div>
<script type="text/jsx">
/* @jsx React.DOM*/
var Login = React.createClass({
Validate: function(){
debugger;
var username = React.findDOMNode(this.refs.username).trim();
var password = React.findDOMNode(this.refs.password).trim();
console.log('Username: ' + username + '\nPassword: ' + password);
if(username == 'username' && password == 'password'){
alert('Success');
}
else{
alert('Failure');
}
},
Clear: function(){
},
render: function(){
return(
<div className="container">
Login
<p></p>
Username: <input type="text" ref="username" /><br />
Password: <input type="password" ref="password" /><br /><br />
<input type="button" value="Submit" onClick={this.Validate} />
<input type="button" value="Clear" onClick={this.Clear} />
</div>
);
}
});
React.render(<Login />, document.getElementById('wrapper'))
</script>
non possono riprodurre: http://jsfiddle.net/gaqs3p17/. Ottengo 'TypeError: React.findDOMNode (...). Trim non è una funzione', il che ha senso, dal momento che' findDOMNode' restituisce un elemento DOM, non una stringa. Non restituisce "indefinito". Se si intende che 'React.findDOMNode' è' indefinito', è necessario aggiornare la versione di React. È stato introdotto nella versione 1.1.0 di AFaik. –
Sì, stavo usando v0.12.1. Anche React.findDOMNode (this.refs.username) .value funziona in v0.13 – user544079
Sì, aggiungendo '.value' funziona, poiché gli elementi' input' hanno una proprietà 'value'. –