Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript prevProps.search.query始终与this.props.search.query相同_Javascript_Reactjs_Redux - Fatal编程技术网

Javascript prevProps.search.query始终与this.props.search.query相同

Javascript prevProps.search.query始终与this.props.search.query相同,javascript,reactjs,redux,Javascript,Reactjs,Redux,prevProps.search.query在分派更新redux状态的操作后始终与this.props.search.query相同 如果我在输入中键入“testing”,并在componentDidUpdate()中记录this.props.search.query和prevProps.search.query,它们都将打印“testing” 不应该prevProps.search.query是testin(没有h,因为它是prev search查询) 我想你把它误认为是组件WillRecei

prevProps.search.query
在分派更新redux状态的操作后始终与
this.props.search.query
相同

如果我在输入中键入“testing”,并在
componentDidUpdate()
中记录
this.props.search.query
prevProps.search.query
,它们都将打印“testing”

不应该
prevProps.search.query
testin
(没有h,因为它是prev search查询)


我想你把它误认为是组件WillReceiveProps。 如果需要
nextrops


在这里了解更多信息

我想你把它误认为是组件WillReceiveProps。 如果需要
nextrops


在这里了解更多

ComponentDidUpdate也有下一步-是的,你是对的,它应该可以很好地工作,即使使用刚刚在我的输入上测试过的
didUpdate
。我认为你们最好展示整个组件,也许问题出在渲染部分。ComponentDidUpdate也有下一步-是的,你们是对的,它应该可以很好地工作,即使在我的输入上测试了
didUpdate
。我认为你们最好展示整个组件,也许问题出在渲染部分。
// 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));