2017-12-15 3 views
1

그래서 나는이 간단한 상황이 실제 라우터 라우터 4에서 작동하도록 고심하고 있습니다. 기본적으로 구성 요소를 렌더링 할 사용자 데이터를 검색하는 데 사용되는 매개 변수가 있습니다. /:user. 나는 또한 /:user/:specificView처럼 렌더하는 페이지에 대해 좀 더 구체적인 뷰를 가지고 있습니다. 후자가 특정 뷰와 같은 일치하는 사용자를 놓치지 않도록 다음 정규 표현식을 시도했지만 아무 것도 올바르게 작동하지 않는 것 같습니다.상대 라우터 4 상대 경로

<div> 
    <Switch> 
     <Route 
     exact 
     path="*/:user/:specificView(coolview|niceview|okview)" 
     render={routerProps => 
      <SpecificViewContainer {...routerProps} {...this.props}/>}/> 
     <Route 
     path="/:user" 
     render={routerProps => 
      <UserPageContainer {...routerProps} {...this.props}/>}/> 
    </Switch> 
</div> 

상대 경로 부분은이 두 경로 아무것도 (/coolusers/:user/:specificView, /okusers/butnotbad/:users/:specificView ... 등)의 상단에 앉아 할 수있는 온, 그래서 그들은 경로 이름의 마지막 조각을해야합니다.

나는 많이 봤했는데 그것은 개방 슬래시가 제안되었다 생략 상대 경로 형식 :user/:specificView 보인다 그러나 나는 그것이 그것을 만든 믿을 수 없어 그렇게 작동하지 않습니다 : https://github.com/ReactTraining/react-router/issues/5127

어떤 도움 것 대단해! 불행히도 서버 측보기 경로가 어떻게 될지 결코 알지 못하기 때문에 상대 경로와 관련이 있습니다. 내가 경로를 허용하는 match.path을 사용하고

답변

0

다양한 부모 경로에서 사용되는 :

<Route 
    exact 
    strict 
    path={`${match.path}/create`} 
    component={CreateComponent} />