首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React路由器未重新加载旧组件

React路由器未重新加载旧组件
EN

Stack Overflow用户
提问于 2018-08-22 17:29:33
回答 2查看 110关注 0票数 2

我有这个路由系统

代码语言:javascript
复制
....
<Route  path="/:slug_1/:slug_2" name="component_2" component={component_2}/>
<Route  path="/:slug_1" name="component_1" component={component_1}/>
....

加载主页时,我在单击路径.../slug-1的component_1链接之后,又单击了路径.../slug-1/slug-2的component_2链接。但在此之后,当我单击component_1链接并在URL中创建路径.../slug-2/slug-1时,它必须是路径.../slug-1

请帮帮我))

EN

回答 2

Stack Overflow用户

发布于 2018-08-22 17:35:08

更改顺序并使component_1完全如下所示:

代码语言:javascript
复制
....
<Route exact path="/:slug_1" name="component_1" component={component_1}/>
<Route  path="/:slug_1/:slug_2" name="component_2" component={component_2}/>
....

这样,如果用户不输入slug_2,路由将转到component_1

如果存在slug_2,它将转到component_2

票数 0
EN

Stack Overflow用户

发布于 2018-08-22 19:50:52

注意开关和精确路径的使用

代码语言:javascript
复制
    import React from 'react';
    import {BrowserRouter, Route, Switch} from 'react-router-dom';

    import App from './App';
    import Component1 from './Component1';
    import Component2 from './Component2';

    const Router = () => (
      <BrowserRouter>
        <Switch>
          <Route exact path="/" component={App} />
          <Route exact path="/slug1" component={Component1} />
          <Route path="/slug1/:slug2" component={Component2} />
        </Switch>
      </BrowserRouter>
    );

    export default Router;

您的主文件将呈现可用于在整个应用程序中导航的Router组件

代码语言:javascript
复制
import React from 'react';
import { render, } from 'react-dom';
import Router from './components/Router';

render(<Router />, document.getElementById('root'));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51963763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档