İlk bit React.js denemeye başladım ve erken saatlerde çalışıyorum ... Aşağıdaki kodu kullanıyorum, bu da arama formunu <div id="search"></div>
içine giriyor. Ancak arama kutusuna yazmanız hiçbir şey yapmaz.Reaktif giriş metni alanına yazamazsınız
Muhtemelen sahneleri geçip, yukarı ve aşağı doğru kaybolan bir şey oluyor ve bu ortak bir sorun gibi görünüyor. Ama çok şaşırdım - Eksik olanı göremiyorum.
var SearchFacet = React.createClass({
handleChange: function() {
this.props.onUserInput(
this.refs.searchStringInput.value
)
},
render: function() {
return (
<div>
Search for:
<input
type="text"
value={this.props.searchString}
ref="searchStringInput"
onchange={this.handleChange} />
</div>
);
}
});
var SearchTool = React.createClass({
render: function() {
return (
<form>
<SearchFacet
searchString={this.props.searchString}
onUserInput={this.props.onUserInput}
/>
<button>Search</button>
</form>
);
}
});
var Searcher = React.createClass({
getInitialState: function() {
return {
searchString: ''
}
},
handleUserInput: function(searchString) {
this.setState({
searchString: searchString
})
},
render: function() {
return (
<div>
<SearchTool
searchString={this.state.searchString}
onUserInput={this.handleUserInput}
/>
</div>
);
}
});
ReactDOM.render(
<Searcher />,
document.getElementById('searcher')
);
(Sonunda
SearchFacet*
diğer türdeki olacak ama sadece çalışan bu almak için çalışıyorum.) O yüzden giriş alanına yazamaz yapacak
value={whatever}
kullanma
Metin alanını girdiğinizde bu işlemi kaydetmeyi deneyin. Bu '' '' '' Searcher' bileşeni değildir. – FaureHu
Teşekkürler FaureHu - 'bu' kodda hangi noktada günlüğe kaydediliyor? Searcher.handleUserInput() 'veya' SearchFacet.handleChange() 'den oturum açmaya çalışmak hiçbir şey yapmaz. –
Benzer sorularınız için cevabımı görebilirsiniz. Detaylı açıklamayı bulabilirsiniz: http://stackoverflow.com/questions/34713718/input-field-doesnt-receive-keyboard-events-when-rendering-with-value-property/36871399?noredirect=1#comment61310144_36871399 –