反应路由器 v2.0 浏览器历史记录不起作用
react-router v2.0 browserHistory not working
当前正在使用 react-route v2.0。
我确定我看过头了,但我能够让 hashHistory 工作,但在实现浏览器历史时,我收到 404 错误消息,因为我试图删除 url 中的 hashHistory,并且也想知道生产解决方法。
我整个下午都在拔头发,似乎看不出我哪里出了问题。
app/app.jsx
var React = require('react');
var ReactDom = require('react-dom');
var Router = require('react-router').Router;
var routes = require('./config/routes');
var browserHistory = require('react-router').browserHistory;
ReactDom.render(
<Router history={browserHistory}>{routes}</Router>,
document.getElementById('app')
);
app/config/routes.jsx
var React = require('react');
var Main = require('../components/Main');
var Home = require('../components/Home');
var Profile = require('../components/Profile');
var Router = require('react-router');
var Route = Router.Route;
var IndexRoute = Router.IndexRoute;
module.exports = (
<Route path="/" component={Main}>
<Route path="profile/:username" component={Profile} />
<IndexRoute component={Home} />
</Route>
);
这是我正在处理的回购https://github.com/SOSANA/React.JS-Tutorials-and-Things/tree/master/github-notetaker/04-state-and-props
希望有人能帮忙
您需要在脚本标记中使用根相对(或绝对)URL,否则应用最终会在目录中请求脚本,服务器会使用(捕获全部)html 文件进行响应。
<script src="/bundle.js"></script>
使用 browserHistory
在初始页面加载时提供适当的资源时,您需要另外配置服务器。
有关更多详细信息,请参阅 https://github.com/rackt/react-router/blob/master/docs/guides/basics/Histories.md#configuring-your-server。
相关文章:
- window.location替换并传递URL历史记录条目中的变量
- Javascript历史记录转换为php行
- 浏览器何时记录历史记录
- 输入类型按钮返回历史记录并返回顶部
- HTML5历史记录-返回上一个完整页面按钮
- asp.net网站文件下载历史记录
- 使用Ajax的后退按钮历史记录,URL中没有散列
- 历史记录和通过JavaScript修改的HTML
- Javascript:历史记录未加载页面
- 通过js设置页面历史记录和页面内容
- 如果没有历史记录,我如何隐藏图像或按钮onclick=;历史.go(-1);
- 将HTML表单发布到iframe会导致浏览器历史记录出现问题
- 如何防止浏览器在历史记录中缓存HTML
- 如何将新的stateObject添加或附加到历史记录中
- 检查浏览器后退按钮历史记录
- React-router 在添加历史记录后不会渲染组件
- 如何返回可用的历史记录状态数
- 引导选项卡不适用于历史记录.返回选项
- 记录 iframe 的历史记录
- 计算历史记录中的页数