react-router动态路由页面渲染不出来

发布于 2022-09-02 21:04:45 字数 1171 浏览 20 评论 0

近期在尝试react-router的动态路由功能,但是页面上什么也不显示,控制台也不报错,请教一下是什么原因,下面是主要的代码:

/* App.jsx */
import React, { Component } from 'react';
import { Link } from 'react-router';

export default class App extends Component {
  render() {
    return (<div>
      <Link to="/foo">Foo</Link>
      <Link to="/bar">Bar</Link>
      <div>
        {this.props.children || <span>No Content</span>}
      </div>
    </div>);
  }
}
/* Routes.jsx */
import React from 'react';
import { Router, hashHistory } from 'react-router';

const rootRoute = {
  component: 'div',
  childRoutes: [
    {
      path: '/',
      component: require('./App.jsx'),

      getChildRoutes(location, cb) {
        require.ensure([], (require) => {
          cb(null, [
            require('./routes/Foo.jsx'),
            require('./routes/Bar.jsx')
          ]);
        });
      }
    }
  ]
};

export default function Routes() {
  return <Router history={hashHistory} routes={rootRoute} />;
}
// ...
render(<Routes />, document.getElementById('rootContainer'));

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

无尽的现实 2022-09-09 21:04:45

找到问题原因了。。。
因为使用了ES6语法,require的行为发生了变化,需要后面加.default才能引用到导出的模块。
可以添加一个babel插件babel-plugin-add-module-exports,这样就不用处处加.default了。

◇流星雨 2022-09-09 21:04:45

这是我之前写的,你可以参考下。github-router

沉溺在你眼里的海 2022-09-09 21:04:45

加上import ReactDOM from 'react-dom';
以及最后面的render()改成ReactDOM.render();
碰到过这个问题,当时按照官方文档来写的,结果有报错。手机上答的题,没有调试过,希望能帮到你。

攒眉千度 2022-09-09 21:04:45

确实要.default~~~~你这个插件好像不错~我去试试

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文