首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReactJs无法访问嵌套路由

问ReactJs无法访问嵌套路由
EN

Stack Overflow用户
提问于 2016-06-07 16:06:45
回答 2查看 246关注 0票数 1

我在使用react-router的嵌套路由时遇到了问题。

下面是我的代码(两个简单的react组件,访问comp1/comp2的路由文件):

House.js

代码语言:javascript
复制
export default connect(st => st)(class House extends React.Component {
 render() {
  return (
   <div>       
    {this.props.children}
   </div>
  );
 }
})

Window.js

代码语言:javascript
复制
export default connect(st => st)(class Window extends React.Component {
  render() {
    return (
      <div >
        hey hey
      </div>
    );
  }
})

routes.js

代码语言:javascript
复制
export const routes = (
  <Router history={ history }>
    <Route path="/house" component={House}>
      <Route path="/house/window" component={Window} />
   </Route>
 </Router>
);

当我以编程方式重定向到"/house/window“时,我可以访问路由,页面显示”嘿嘿“。如果我想直接访问url : localhost:8080/house/window

它显示一个空白页面和一个控制台错误:

请求URL:http://localhost:8080/house/window请求方法:获取状态码:304未修改

然后:获取http:// localhost:8080 /house/js/bundle.js (404)

此外,http:// localhost:8080 /house/ (带有尾随斜杠)也显示了相同的错误。

我真的不明白这个奇怪的重定向http:// localhost:8080 /house/js/bundle.js

我可能做错了什么,但在爬行了stackoverflow之后,我仍然看不到它。

EN

回答 2

Stack Overflow用户

发布于 2016-06-07 16:52:32

我发现了这个问题: index.html中包含的bundle.js脚本包含了相对路径'js/bundle.js‘,因此我将其更改为'/js/bundle.js’。

遗憾的是,在我想嵌套一些路由之前,这并没有造成任何问题。

票数 1
EN

Stack Overflow用户

发布于 2016-06-07 16:07:34

嵌套路由不能在path属性中包含父路径:

代码语言:javascript
复制
export const routes = (
  <Router history={ history }>
    <Route path="/house/" component={House}>
      <Route path="window" component={Window} />
   </Route>
 </Router>
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37673822

复制
相关文章

相似问题

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