React-Router:如何重新加载第二级及以下的页面

时间:2019-05-03 11:18:41

标签: node.js webpack routes react-router react-router-dom

我正在用这些路线开发一个网站:

/liga-femenina-1
/liga-femenina-1/equipos
/liga-femenina-1/resultados
/liga-femenina-1/estadisticas
/liga-femenina-1/buscador
/liga-femenina-2
/liga-femenina-2/equipos
/liga-femenina-2/resultados
/liga-femenina-2/estadisticas
/liga-femenina-2/buscador

我可以访问所有这些文件,并且可以顺利导航。但是,当我尝试重新加载页面时,我只能使用只有一个目录的url正确地重新加载页面。我可以重新加载以下页面:

/liga-femenina-1
/liga-femenina-2

但是,当我尝试使用以下多个目录重新加载带有url的页面时:

/liga-femenina-1/equipos
/liga-femenina-1/resultados
/liga-femenina-1/estadisticas
/liga-femenina-1/buscador
/liga-femenina-2/equipos
/liga-femenina-2/resultados
/liga-femenina-2/estadisticas
/liga-femenina-2/buscador

该页面无法呈现,并显示为空白。

代码如下:

import {BrowserRouter as Router, Route, NavLink} from "react-router-dom";
<Router>
    <Tab.Container>
        <Row>
            <div className = "fondo-submenu">
                <Col md = {12}>
                    <Nav justify variant="pills">
                        <Nav.Item>
                            <NavLink 
                                className = "btn submenu btn-lg btn-block" 
                                activeClassName = "btn submenu-active btn-lg btn-block"
                                exact
                                to = "/liga-femenina-1">
                                    Home
                            </NavLink>
                        </Nav.Item>
                        <Nav.Item>
                            <NavLink 
                                className = "btn submenu btn-lg btn-block" 
                                activeClassName = "btn submenu-active btn-lg btn-block"
                                to = "/liga-femenina-1/equipos">
                                    Equipos
                            </NavLink>
                        </Nav.Item>
                        <Nav.Item>
                            <NavLink 
                                className = "btn submenu btn-lg btn-block" 
                                activeClassName = "btn submenu-active btn-lg btn-block"
                                to = "/liga-femenina-1/resultados">
                                    Resultados
                            </NavLink>
                        </Nav.Item>
                        <Nav.Item>
                            <NavLink 
                                className = "btn submenu btn-lg btn-block" 
                                activeClassName = "btn submenu-active btn-lg btn-block"
                                to = "/liga-femenina-1/estadisticas">
                                    Estadísticas
                            </NavLink>
                        </Nav.Item>
                        <Nav.Item>
                            <NavLink 
                                className = "btn submenu btn-lg btn-block" 
                                activeClassName = "btn submenu-active btn-lg btn-block"
                                to = "/liga-femenina-1/buscador">
                                    Buscador
                            </NavLink>
                        </Nav.Item>
                    </Nav>
                </Col>
            </div>
        </Row>
        <Row>
            <Col md = {12}>
                <Tab.Content>                              
                    <Route exact path = "/liga-femenina-1" component = {HomeLF1Content} />
                    <Route path = "/liga-femenina-1/equipos" component = {TeamsLF1Content} />                                
                    <Route path = "/liga-femenina-1/resultados" component = {ResultsLF1Content} />                                
                    <Route path = "/liga-femenina-1/estadisticas" component = {StatsLF1Content} />                                
                    <Route path = "/liga-femenina-1/buscador" component = {SearchLF1Content} />
                </Tab.Content>            
            </Col>
        </Row>                            
    </Tab.Container>                        
</Router>

在后端,我使用的是NodeJS,因此,如果我检查重新加载时请求的url,并且该URL只有一个目录,那么我已经知道了:

enter image description here

但是,如果我尝试重新加载带有url的页面,该URL包含多个目录,例如/ liga-femenina-1 / equipos,那么我就知道了:

enter image description here

您怎么看,尝试检索bundle.js文件时出现错误。

GET /liga-femenina-1/assets/js/bundle.js 404 1.660 ms - 174

这是由于文件bundle.js位于 /assets/js/bundle.js 中。在这里,您可以看到bundle.js文件所在的目录层次结构如何:

enter image description here

因此,当我重新加载具有多个目录(如 / liga-femenina-1 / equipos)的页面时,如何正确访问 /assets/js/bundle.js

0 个答案:

没有答案