ฉันพยายามที่บิตแรกของ React.js และกำลังนิ่งงันในช่วงต้น ... <div id="search"></div>
ฉันมีโค้ดด้านล่างซึ่งทำให้ฟอร์มการค้นหาลงใน แต่การพิมพ์ในช่องค้นหาไม่ทำอะไรเลย
มีบางอย่างที่อาจขาดหายไปโดยผ่านอุปกรณ์ประกอบฉากและขึ้นลงและดูเหมือนว่าจะเป็นปัญหาทั่วไป แต่ฉันนิ่งงัน - ไม่เห็นว่ามีอะไรหายไป
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')
);
(ในที่สุดฉันก็จะมีประเภทอื่นSearchFacet*
แต่ฉันแค่พยายามทำให้อันนี้ใช้งานได้)
this
ที่จุดใดในรหัส? พยายามออกจากระบบSearcher.handleUserInput()
หรือSearchFacet.handleChange()
ไม่ทำอะไรเลย
this
เมื่อคุณป้อนฟิลด์ข้อความ อาจเป็นได้ว่าthis
ไม่ใช่Searcher
ส่วนประกอบอีกต่อไป