【问题标题】:React 0.13.x _classCallCheck() in DefaultRoute 'Cannot call a class as a function’在 DefaultRoute 中反应 0.13.x _classCallCheck() '不能将类作为函数调用'
【发布时间】:2023-03-08 16:05:02
【问题描述】:

我正在使用带有 Webpack 1.9.5 和 traceur-loader 0.6.3 的 React 0.13.3(之前尝试过 babel-loader),在 DefaultRoute 'Cannot call a class as a function' 中得到 _classCallCheck() 抛出的 TypeError .我没有看到我在哪里调用一个类作为一个函数。这是我的路线的样子:

    var Application = require('./components/Application');
    var Home = require('./components/Home');
    var About = require('./components/About');
    var MainFeedVideos = require('./components/MainFeedVideos');
    var MyUploads = require('./components/MyUploads');
    ...
    var routes = (
            //logged out content
            <Route flux={flux} handler={Application}>
                <DefaultRoute handler={Home} />
                <Route name='about' handler={About}/>
                ...
                //logged in content
                <Route path='/' name='home' handler={Home}>
                    <DefaultRoute handler={MainFeedVideos} />
                    <Route name='my-videos' handler={MyUploads}/>
                    ...
                </Route>
            </Route>);

    Router.run(routes, Router.HistoryLocation, function (Handler) {
        React.render(<Handler/>, document.getElementById('content'));
    });

以前有人遇到过这个问题吗?

【问题讨论】:

  • 你在使用 babel 时是否遇到同样的错误?这段代码没有任何问题,但它可能是您依赖的库,也可能是您的另一个组件。错误指向哪一行?
  • 是的,和 babel 完全一样。错误指向 DefaultRoute.js 第 3 行 var _classCallCheck = ...
  • 您如何将 JSX 转换为 Javascript?如果您使用的是 jsx-loader,请检查您是否拥有最新版本。
  • 想通了!我在我的ApplicationHome 组件中使用旧的this.props.activeRouteHandler() 而不是&lt;RouteHandler /&gt;,它们是顶级路由。我会添加这个作为答案。感谢@FakeRainBrigand 和@Morhaus 的回复!

标签: javascript reactjs webpack react-router traceur


【解决方案1】:

原来我在我的 Application 和 Home 组件中使用旧的 this.props.activeRouteHandler() 而不是 &lt;RouteHandler/&gt;,它们是顶级路由。多哈。

这里有正确的语法示例http://rackt.github.io/react-router/

【讨论】:

    猜你喜欢
    • 2015-06-05
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 2022-01-12
    • 1970-01-01
    相关资源
    最近更新 更多