나는 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
.