javascript - React Router 4相对路径

标签 javascript reactjs react-router react-router-v4

所以我正在努力让这个简单的情况在 React Router 4 中为我工作。基本上,我有一个参数用于检索将呈现组件 /:user 的用户数据。我在该页面上还有一些更具体的 View ,它们的呈现方式如下 /:user/:specicView 。为了防止后者错过像特定 View 这样的匹配用户,我一直在尝试以下正则表达式,但似乎没有任何结果才能正常工作。

<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/:specicView, /okusers/butnotbad/:users/:specicView... 等),因此它们需要是路径名的最后部分。

我用谷歌搜索了很多,似乎提出了省略开头斜杠的相对路径格式 :user/:specicView 但它不起作用,所以我不相信它成功了在:https://github.com/ReactTraining/react-router/issues/5127

任何帮助都会很棒!不幸的是,我陷入了相对路径的困境,因为我永远不知道服务器端 View 路线将会是什么。

最佳答案

我一直在使用 match.path 来允许从各种父路由中使用路由:

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

关于javascript - React Router 4相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47827693/

相关文章:

reactjs - AWS-Amplify Authenticator 支持经过身份验证和未经身份验证的页面

javascript - 如何在渲染后根据另一个状态使用 setState 更新状态?

javascript - 在具有时间序列的 Flot 图表中堆叠条形图

reactjs - Typescript 导出默认 : React. FunctionComponent

reactjs - 如何在登录页面reactJS中隐藏标题组件

javascript - 使用 React Router 和 Redux Simple Router 的 onEnter Transitions 不要渲染新路由的组件

javascript - "Cannot read property ' selectedZones ' of undefined"已初始化且非空变量

javascript - 在 Bing map 中显示来自数据源 URL 的所有营业地点

javascript - 添加依赖项时使用 useEffect() Hook 时如何避免无限循环?

javascript - 如何使 Prop 不可变以防止在 React 中重新渲染?