我正在使用React-router,当我单击链接按钮时,它可以正常工作,但是当我刷新网页时,它不会加载我想要的内容。
例如,我进去了localhost/joblist
,一切都很好,因为我按链接到达这里。但是,如果刷新网页,则会得到:
Cannot GET /joblist
默认情况下,它不是这样工作的。最初,我的URL为localhost/#/
,localhost/#/joblist
并且它们工作正常。但是我不喜欢这种URL,因此尝试删除它#
,我写道:
Router.run(routes, Router.HistoryLocation, function (Handler) {
React.render(<Handler/>, document.body);
});
这个问题不会发生localhost/
,这个总是返回我想要的。
编辑:这个程序是单页的,所以/joblist
不需要向任何服务器询问任何内容。
EDIT2:我的整个路由器。
var routes = (
<Route name="app" path="/" handler={App}>
<Route name="joblist" path="/joblist" handler={JobList}/>
<DefaultRoute handler={Dashboard}/>
<NotFoundRoute handler={NotFound}/>
</Route>
);
Router.run(routes, Router.HistoryLocation, function (Handler) {
React.render(<Handler/>, document.body);
});
使用Redux也
HashRouter
对我有用,只需替换:至: