prevProps.search.query
は、還元状態を更新するアクションをディスパッチした後、常にthis.props.search.query
と同じです。prevProps.search.queryは常にthis.props.search.queryと同じです。
私は(それが前の検索クエリあったように時間なしで)彼らは両方の印刷「テスト」
がprevProps.search.query
がtestin
すべきではないでしょう入力して「テスト」を入力し、componentDidUpdate()
でthis.props.search.query
とprevProps.search.query
を記録した場合は?私の減速で
// results component
class Results extends React.Component {
constructor (props) {
super(props);
this.state = {
resultsClass: 'row search-results',
results: null,
searchQuery: ''
}
}
componentDidUpdate(prevProps, prevState){
if(this.props.search.query !== prevProps.search.query){
this.getSearchResults();
}
}
}
// input component
<input type="text" onChange={this.handleSearchUpdate} />
handleSearchUpdate() {
this.props.dispatch(setSearchQuery(this.queryInput.value));
}
、私は状態に
case constants.SET_SEARCH_QUERY:
return merge({}, set(state, 'search.query', action.query));
ComponentDidUpdateもnextPropsている - https://facebook.github.io/react/docs/react-component.html#componentdidupdate – Stretch0
yeapを、あなたが正しいです、私の入力でテストされた 'didUpdate'でもうまく動作するはずです。私はあなたが良い全体コンポーネントを表示すると思う、多分問題はレンダリングセクションにあります。 – Lojka