class Filter extends React.Component {
...
return
<SearchBar
getSearchValue={this.props.getSearchValue}
/>
...
}
:
class Layout extends React.Component {
constructor(){
super()
this.state={
searchValue: ''
}
}
getSearchValue(searchValue){
this.setState({searchValue})
}
...
return
<Filter
getSearchValue={this.getSearchValue.bind(this)}
/>
...
}
それから私は、フィルターと呼ばれる子を、持っています
そして最後に検索コンポーネント自体:今
class SearchBar extends React.Component {
handleEvent(e){
this.props.getSearchValue(e.target.value)
}
...
return
<input onChange={this.handleEvent.bind(this)}/>
}
、私はかなりの午前URE私はこのような何かを持っていたが、その後、私はそれを台無しにし、戻ってそれを実行しようとしましたが、今私は、エラーメッセージが出ます:
捕捉されない例外TypeErrorを:this.props.getSearchValueは
は、いずれかである関数ではありません私のバインディングは間違っていますか?私は数回試しました。
Console.log( 'Hi')を置き、レイアウトのgetSearchValueからthis.setState()を削除し、SearchBarの変数をthis.props.getSearchValueに渡さないと、メッセージが表示されますコンソールに接続します。したがって、関数は機能しますが、引数なしでのみ機能します。どうして?
どのコンポーネントで正確にエラーが表示されますか?このコードはOKです。コンポーネントのコードを追加できますか? – lustoykov
SearchBar.value –
コンストラクタで見つからない 'super()'がこれを引き起こしている可能性があります –