родственные маршруты, не работающие в реакции - PullRequest
0 голосов
/ 12 июня 2018

У меня есть компонент с именем Профиль , и у него есть два дочерних компонента Временная шкала и Друзья .

Я могу направить к компоненту временной шкалывнутри профиля из любого другого компонента, подобного этому:

<Link to={{ pathname: '/dashboard/profile/timeline/'+userId}}></Link> 

Но как только я нахожусь в этом URL, после этого, если я хочу направить в раздел друзей, который является родным по временной шкале, я пытаюсь выполнить маршрутизацию, используя это в Профилекомпонент

<Route path="/dashboard/profile/:screenId/:userId" component={this.Routing}/>

где функция маршрутизации

Routing =({ match })=>{
    switch(match.params.screenId){
        case "timeline": return <Timeline/>;
        case "friends": return <Friends/>
        default : return <NoMatch/>;
    }
}

Но проблема в том, что она не работает, функция маршрутизации не запускается, когда я нажимаю на навигационную ссылку

<NavLink to={'/dashboard/profile/'  + (tab.url) + '/' + userId} activeClassName="selectedTab">
   <div>{tab.name}</div>
</NavLink>

Эта навигационная ссылка находится в компоненте профиля.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 12 июня 2018

Вам нужно передать реквизиты маршрутизатора компоненту, чтобы маршрутизация прошла

Routing =({ match, ...rest })=>{
    switch(match.params.screenId){
        case "timeline": return <Timeline match={match} {...rest}/>;
        case "friends": return <Friends match={match} {...rest}/>
        default : return <NoMatch match={match} {...rest}/>;
    }
}
...