reactjs - React-Router 中使用的类型/大小写错误

标签 reactjs react-router

我试图将应用程序移动到 React-Router 并不断收到错误。 然后我尝试了一个受 github 存储库启发的简单示例,并得到了相同的错误。可能是一个愚蠢的错误,但我不断重新阅读代码,但找不到它的问题所在。

错误:

Warning: React.createElement: type should not be null or undefined. It should be a string (for DOM elements) or a ReactClass (for composite components).
Warning: Only functions or strings can be mounted as React components.
Uncaught TypeError: Cannot read property 'toUpperCase' of undefined

代码:

var React = require('react');
var Router = require('react-router');
var DefaultRoute = Router.DefaultRoute;
var Link = Router.Link;
var Route = Router.Route;
var RouteHandler = Route.RouteHandler;

var Inbox = React.createClass({
    render: function () {
        return (
            <div>Inbox</div>
        )
    }
});

var Calendar = React.createClass({
    render: function () {
        return (
            <div>Calendar</div>
        )
    }
});

var Dashboard = React.createClass({
    render: function () {
        return (
            <div>Dashboard</div>
        )
    }
});

var App = React.createClass({
  render: function () {
    return (
      <div>
        <header>
          <ul>
            <li><Link to="app">Dashboard</Link></li>
            <li><Link to="inbox">Inbox</Link></li>
            <li><Link to="calendar">Calendar</Link></li>
          </ul>
          Logged in as Jane
        </header>

        {/* this is the important part */}
        <RouteHandler/>
      </div>
    );
  }
});

var routes = (
  <Route name="app" path="/" handler={App}>
    <Route name="inbox" handler={Inbox}/>
    <Route name="calendar" handler={Calendar}/>
    <DefaultRoute handler={Dashboard}/>
  </Route>
);

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

最佳答案

您缺少一个r。这个: var RouteHandler = Route.RouteHandler; 应该是 var RouteHandler = Router.RouteHandler; 因为 RouteHandlerRouter 上code> 对象而不是 Route 对象。

关于reactjs - React-Router 中使用的类型/大小写错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30343526/

相关文章:

css - React 和 CSS 模块 : how to style components without assuming their content

javascript - 在 react-router 渲染函数中访问 URL 参数

node.js - 无法访问将其从 GH-pages 传递到 React App 的环境 secret 变量

javascript - 无法读取未定义的属性 'props' - React Router

caching - React Router 代码拆分 "randomly"加载 block 失败

javascript - Router 6 - 从父组件调用子组件函数

json - 在 Gatsby 中使用 graphQL 查询多个 JSON 文件

javascript - Reactjs - 排序 if else 和外部 block

javascript - 无法读取未定义的属性 'routeName' - react 抽屉导航

javascript - React JS Redux 登录后加载数据