[英]React router not working - no errors
import React, { Component } from 'react';
import './App.css';
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var Navigation = ReactRouter.Navigation;
var StorePicker = React.createClass({
render : function() {
return (
<form className="store-selector">
<h2>Please Enter A Store</h2>
</form>
)
}
});
var routes = (
<Router>
<Route path="/" component={StorePicker}/>
<Route path="store" component={App}/>
</Router>
)
export default routes;
我正在尝试使用反应路由器。 此代码不起作用。 它不会给出任何错误。 但它给出了两个警告。
警告:失败的道具类型:道具history
在Router
标记为 required ,但其值为undefined
。 在路由器
React.createElement: type is invalid -- 期望字符串(对于内置组件)或类/函数(对于复合组件)但得到:对象。
对于警告:
(警告:失败的道具类型:道具历史在路由器中标记为必需,但其值未定义。在路由器中)
您缺少路由器的历史定义尝试:
<Router history={}>
<Route path="/" component={Home} />
</Router>
注意:您必须使用 React 路由器将所选的历史记录类型添加到您的导入中,因此如果您选择添加browserHistory,您的导入将如下所示:
import { , Router, Route } from 'react-router'
^---added as a named import
不同选项的简要说明:
browserHistory :以路径“/”开头的完整 url 路径为基础。 因此,如果您的 SPA 位于www.myapp.com ,则默认情况下根路径将与www.myapp.com/
。 所以如果你想要一条到www.myapp.com/blog
的路由,你需要定义一个路由路径“ /blog
”。
hasHistory :做同样的事情,但根从 url 中找到的第一个#
字符开始: example.com/#/some/path
/some/path
#
/some/path
将对应于: /some/path
createMemoryHistory :用于测试和服务器渲染。 此选项不会读取或操作地址栏。
查看: React Router Histories了解更多信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.