고급 필터 구성 요소를 사용하여 사용자가 다른 유형의 필터와 링크를 공유 할 수 있도록 URL에 검색어 매개 변수를 추가합니다.반응 라우터 4가 검색어 매개 변수로 URL을 업데이트하지 않습니다.
구성 요소를 withRouter()
으로 내보낼 때 모든 것이 합법적 인 것 같습니다. 구성 요소 소품에 내역이 삽입됩니다.
this.props.history.push({
pathname: this.props.history.location.pathname,
query: { tags: selectedTags }
});
그것이 this.props.history의 상태를 변경 않으며, 내 쿼리가 존재 볼 수 있지만 브라우저에서 URL이 변경되지 않습니다 나는이 코드 조각을 호출하지만 때. 내가 뭔가 잘못하고 있는거야?
아, 감사합니다. 그런데 왜 이것이 이전 상태를 표시합니까? 만약''search :'? tags = $ {selectedTags}'를 누르면 행동을 수행 할 때 처음으로 나타나지 않을 것입니다. params가 다른 검색어를 추가하면'search :'? cars = $ {selectedTags}'라고 말하면 그 URL에'? tags' 만 표시됩니다. 하나의 상태 지연이있는 것처럼 보입니다. – Xeperis
'selectedTags'에는 어떤 값이 있습니까? – imcvampire
나는 문제를 알아 냈다 : 두 개의 redux 동작이 동시에'react-router'의 위치 변경 중 하나와 동시에 해고되었다. 이것은 인터넷에서 막연하게 논의되는 다음 문제, 즉 경로 변경을 유발시키지 않고'search' 문자열을 바꾸는 것에 나를 데려다 준다. 이것의 배경은 많은 호출을하는 것이 비싸고 UX의 관점에서 응답이없는 일종의 데이터 마이닝 WEB APP에 대한 공유 가능한 링크를 구축하는 것입니다. – Xeperis