我有一個簡單的搜索欄,它有一個用於搜索/過濾數據的onChange方法。傳遞給動作後,React/Redux參數變得不確定
class ItemSearch extends React.Component {
constructor(){
super();
this.handleOnChange = this.handleOnChange.bind(this);
}
handleOnChange(e){
const searchTerm = this.search.value;
console.log(searchTerm);
this.props.fetchSearch(searchTerm);
}
render() {
return (
<div>
<form>
<input type='text' ref={(input) => {this.search = input}} onChange={this.handleOnChange}></input>
</form>
<div>
{this.props.data.map((item, i) => {
return <ListItem
key={i}
item={item}
/>
})}
</div>
</div>
)
}
}
註銷搜索詞可以給我正確的值。但是,在傳遞給redux動作創建器後,它變得不確定。我的行動非常簡單,就像這樣。
export default function fetchSearch(value){
console.log(value);
return {
type: 'FETCH_SEARCH',
payload: value
}
}
在這個日誌中它變得沒有定義。我認爲它已經超出了範圍,但是如果不向動作創作者傳遞參數,無論如何都沒有辦法從表單中提取狀態。我在許多教程和帖子中看到了這個確切的事情,所以我有點失落,儘管它可能是我錯過的一些愚蠢的東西。
謝謝。
嘗試'this.props.fetchSearch(this.search.value);'你也使用bindActionCreator或調度,你可以分享該代碼 –
我忘了更新容器中的分派。我知道這很愚蠢。現在所有排序和工作,非常感謝! –
我應該添加這個答案 –