Судя по вашей кодовой ручке , вы должны поднять обертку withRouter
до родителя, дать ему понять selectedType
и передать его компоненту сортировки. В вашем onHandleSort
вы можете установить новый query
.
class Parent extends Component {
// ...
handleClick (slug) => {
this.props.router.push({ query: { sorting: slug } })
}
// ...
render () {
const sorting = this.props.router && this.props.router.query
? this.props.router.query.sorting
: 'RELEVANCE';
return (
// ...
// ...
);
}
}
export default withRouter(Parent);
export default class Sort extends Component {
// ...
handleClick (param) => {
this.props.onHandleSort(param.slug)
}
// ...
render () {
const selectedType = this.props.sorting;
return (
// ...
);
}
}
Хорошо, я получил помощь и совет на форуме .NET: Я решу проблему, предоставив Get-Method для модели внутри ViewModel. Поэтому, если я создаю нового родительского объекта с существующими ChildVM, я просто возвращаю ссылку Child внутри ChildVM и назначаю их своему новому родительскому объекту.