내 검색 기능에 두 개의 구성 요소가 있는데, 하나는 검색 필터를 선택하고 다른 하나는 검색 쿼리를 수행하는 것입니다. 필터를 선택할 때마다 상태가 다시로드되므로 둘 이상의 필터를 선택할 수 없습니다. 검색 구성 요소를 호출하고 내 searchfilter 구성 요소의 상태를 유지할 수있는 방법이 있습니까? 내 searchfilters 구성 요소에서다른 구성 요소를 호출 한 후 구성 요소에 상태를 유지하는 방법
나는이있다 :
<SearchFilters searchWithFilters={this.searchWithFilters.bind(this)} />
그리고 나는이 방법이 있습니다 : 내 검색 구성 요소에서
let state = _.extend({}, this.state);
state.filters = this.toggleFilter(filterObj, state.filters);
this.setState(state);
this.props.searchWithFilters(state.filters);
을 내가 가진
searchWithFilters(filters) {
let state = _.extend({}, this.state);
state.filters = filters;
this.setState(state);
this.props.search(this.state);
}
답장을 보내 주셔서 감사합니다! searchfilters의 상태를 검색 구성 요소로 전달할 수 있습니까? –
물론 SearchFilters의 상태를 사용할 필요는 없지만 searchWithFilters 또는 다른 콜백 메소드를 사용하여 SearchComponent 상태의 필터를 업데이트하는 경우 필터가 충분합니다. –
searchWithFilters가 어떻게 표시되는지 내 대답을 편집했습니다. 새 필터를 가져 와서 상태에 추가합니다. SearchFilters 구성 요소에서는 this.strop.filters 대신 this.props.filters 만 사용하십시오. –