javascript - ReactJs无法访问嵌套路由

标签 javascript reactjs nested-routes

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

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

House.js

export default connect(st => st)(class House extends React.Component {
 render() {
  return (
   <div>       
    {this.props.children}
   </div>
  );
 }
})

Window.js

export default connect(st => st)(class Window extends React.Component {
  render() {
    return (
      <div >
        hey hey
      </div>
    );
  }
})

routes.js

export const routes = (
  <Router history={ history }>
    <Route path="/house" component={House}>
      <Route path="/house/window" component={Window} />
   </Route>
 </Router>
);

当我以编程方式重定向到“/house/window”时,我可以访问该路线并且页面显示“嘿嘿”。 如果我想直接访问网址: 本地主机:8080/house/window

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

请求网址:http://localhost:8080/house/window 请求方式:GET 状态代码:304未修改

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

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

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

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

最佳答案

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

遗憾的是,直到我想嵌套一些路由时,它才出现任何问题。

关于javascript - ReactJs无法访问嵌套路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37673822/

相关文章:

ruby-on-rails - Rails 4 【最佳实践】嵌套资源和浅层 : true

ruby-on-rails - Rails 4 嵌套浅层路由 : how to get parent id in child controller?

javascript - 以 Angular 访问工厂回调函数内部的变量

javascript - 为什么这个 .each 函数工作错误

javascript - 使用 javascript 根据内容放置位置为元素应用 Css

reactjs - React 将图像 src 作为对象返回

ios - OneSignal + React Native + 后台通知

javascript - md-dialog 中的 Angular-Material md-select

javascript - 移动导航在下拉菜单下方显示可点击元素

javascript - 具有主干路由的嵌套 View