Reactjs 未捕获类型错误:无法读取属性';createRouteFromReactElement';未定义的

Reactjs 未捕获类型错误:无法读取属性';createRouteFromReactElement';未定义的,reactjs,react-router,Reactjs,React Router,我得到这个错误:- 未捕获的TypeError:无法读取未定义的属性“createRouteFromReactElement” 在这个代码中。我用路由器导航,但不工作。我导入了一个名为Home.jsx的文件 var React=require('React')) var ReactDOM=require('react-dom')) var Router=require('react-Router')。路由器 var Route=Router.Route var IndexRoute=Router

我得到这个错误:-
未捕获的TypeError:无法读取未定义的属性“createRouteFromReactElement”
在这个代码中。我用路由器导航,但不工作。我导入了一个名为Home.jsx的文件

var React=require('React'))
var ReactDOM=require('react-dom'))
var Router=require('react-Router')。路由器
var Route=Router.Route
var IndexRoute=Router.IndexRoute
var App=React.createClass({
render(){
返回(
应用程序

  • 关于
) } }) 变量About=require(“./components/Home”) ReactDOM.render(( ),document.body)
和Home.jsx

var React=require('React');
var RaisedButton=require('material-ui/lib/RaisedButton');
var Home=React.createClass({
render:function(){
返回(
);
},
});
module.exports=Home;

这里有几件事你做错了。我假设您使用的是React Router 1.0(因为使用了
IndexRoute

在1.0版<代码>路由器中,组件是顶级模块的一个属性,因此您可以这样进行导入:

var ReactRouter=require('react-router');
var Router=ReactRouter.Router;
var Route=ReactRouter.Route;
var IndexRoute=ReactRouter.IndexRoute;
我想您也不完全理解什么是
IndexRoute
,请查看澄清。但是tldr;是指
IndexRoute
不采用path参数

另一件事是,要在某处装载routes组件,需要指定位置,可以使用
{this.props.children}
来完成。所以你的脸可能看起来像:

var React=require('React');
var ReactDOM=require('react-dom');
var ReactRouter=require('react-router');
var Router=ReactRouter.Router;
var Route=ReactRouter.Route;
var IndexRoute=ReactRouter.IndexRoute;
var App=React.createClass({
render(){
返回(
应用程序

{this.props.children} ) } }) 变量About=require(“./components/Home”) ReactDOM.render(( ),document.body)

请查看,以便您更好地了解如何在应用程序中使用react路由器。

这里有几件事情您做错了。我假设您使用的是React Router 1.0(因为使用了
IndexRoute

在1.0版<代码>路由器中,组件是顶级模块的一个属性,因此您可以这样进行导入:

var ReactRouter=require('react-router');
var Router=ReactRouter.Router;
var Route=ReactRouter.Route;
var IndexRoute=ReactRouter.IndexRoute;
我想您也不完全理解什么是
IndexRoute
,请查看澄清。但是tldr;是指
IndexRoute
不采用path参数

另一件事是,要在某处装载routes组件,需要指定位置,可以使用
{this.props.children}
来完成。所以你的脸可能看起来像:

var React=require('React');
var ReactDOM=require('react-dom');
var ReactRouter=require('react-router');
var Router=ReactRouter.Router;
var Route=ReactRouter.Route;
var IndexRoute=ReactRouter.IndexRoute;
var App=React.createClass({
render(){
返回(
应用程序

{this.props.children} ) } }) 变量About=require(“./components/Home”) ReactDOM.render(( ),document.body)
请看一下,以便更好地了解如何在应用程序中使用react路由器