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路由器