내 앱 상태의 일부를 상점에서 URL로 이동 중입니다.선택기의 액세스 라우터 상태가 반응합니다.
현재 redux를 사용하여 선택기를 만들려면 reselect과 함께 내 앱의 상태를 관리하고 있습니다. 선택기는 redux 저장소의 상태에서 파생 된 값을 계산합니다 (원칙적으로 이것은 유일한 입력입니다).
이제는 상태의 일부가 URL 내에 포함될 것이므로 어떻게 읽을 지 모르겠습니다.
내가 솔루션을 표시 될 수 첫눈에 react-router-redux, 살펴 보았다 그러나 이것은 그것을을 할 수있는 올바른 방법으로하지 않는 것 (실제로, 나는 state.routing.locationBeforeTransitions.query
를 사용하여 원하는 값을 얻을 수 있습니다) 자신의 문서에서 주어진대로 :
Redux 저장소에서 위치 상태를 직접 읽지 않아야합니다.
내 위치 상태에 액세스 할 수있는 또 다른 방법이 있습니까, 아니면이 경고를 무시하고 내 선택기에서 사용해야합니까?
mapStateToProps에서 라우터의 매개 변수에 액세스해야합니까? –
@Utro 거기에서 선택기가 호출되었지만 선택기 하나의 인수 인 상태 개체 만 전달한다는 아이디어가 있습니다. 나는 라우터에서 필요한 것들을 ownProps를 사용하여 상태 객체에 추가 할 수 있다고 생각한다 ... –
거기에는 다음과 같은 방법이있다. 1) mapStateToProps에서 ownProps.params를 얻는다. 2) 컴포넌트에서 : 'this.props.params.someparam'을 액션에 전달한다. 3)'redux-router '를 사용하여 라우터 상태를 상점 내에 유지합니다. –