React路由器似乎将查询附加到我的路由末尾。该应用程序由运行express的节点服务器提供服务。我正在使用最新版本的react-router“1.0.0-rc1”
实施例:
http://localhost:8080/#/users?_k=8wsy62
两个问题
1)为什么会这样?
2)如何阻止它将查询附加到网址?
这是我到目前为止的代码:
var React = require('react');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var Link = ReactRouter.Link;
var IndexRoute = ReactRouter.IndexRoute;
var App = React.createClass({
render: function() {
return (
<div className="app">
<h1>App</h1>
<Link to="/users">Users</Link>
{this.props.children}
</div>
);
}
});
var Home = React.createClass({
render: function() {
return (
<div className="home">
<h2>Home</h2>
</div>
);
}
});
var Users = React.createClass({
render: function() {
return (
<div className="users">
<h2>Users</h2>
</div>
);
}
});
React.render((
<Router>
<Route path="/" component={App}>
<IndexRoute component={Home} />
<Route path="users" component={Users} />
</Route>
</Router>
), document.body);
答案 0 :(得分:3)
取自此链接:http://rackt.github.io/history/stable/HashHistoryCaveats.html
HTML5为我们提供了pushState方法和popstate事件,但是在 旧浏览器我们唯一拥有的是URL。所以,当使用哈希时 历史记录,您将在查询字符串中看到一个看起来更多的项目 类似于_k = 123abc。这是历史用来查找的关键 window.session中的持久状态数据在页面加载之间存储。
如果您不喜欢,可以查看上面的链接以及此链接,了解如何停止此操作:https://github.com/rackt/react-router/issues/1952#issuecomment-140401701