尝试在我的项目中实现react-router 1.0.0-rc1,但出现以下错误:
1) 警告:React.createElement:类型不应为 null 或未定义。它应该是一个字符串(对于 DOM 元素)或一个 ReactClass(对于复合组件)。 2) 警告:只有函数或字符串可以挂载为 React 组件。 3)未捕获的类型错误:无法读取未定义的属性“toUpperCase”
routes.js 文件:
var React = require('react');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var Home = require('./components/home.js');
var Jobs = require('./components/jobs.js');
var JobDetail = require('./components/jobDetail');
var App = require('./components/app.js');
var About = require('./components/about.js');
var NotFoundPage = require('./components/notfoundpage.js');
var routes = (<Router>
<Route path="/" component={App}>
<Route path="jobs" component={Jobs}>
<Route path="jobs-detail" component={JobDetail} />
</Route>
<Route path="*" component={NotFoundPage} />
</Route>
</Router>);
module.exports = routes;
app.js 文件:
var React = require('react');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var routes = require('./routes');
React.render(<Router>{routes}</Router>, document.body);
最佳答案
您有两批 Router
标记(一份在 app.js 中,另一份在 paths.js 中)。
从路由文件中删除 Router
标记,然后 app.js 可以如下所示:
React.render(<Router routes={routes}/>, document.body);
我找到了upgrade guide非常有用
关于javascript - React Router 1.0.0-rc1 的基本实现显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32730518/