Реакции-маршрутизатор v2.0 браузер история не работает
В настоящее время используется response-route v2.0.
Я уверен, что что-то перебираю, но я могу заставить работать hashHistory, но при реализации browserHistory я получаю сообщение об ошибке 404, так как пытаюсь удалить hashHistory в URL, а также хотел бы узнать, как обойтись для производства.
Я весь день выдергивала волосы и, кажется, не видела, в чем дело.
Приложение /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')
);
приложение / 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
Надеюсь, кто-то может помочь
2 ответа
Вам нужно использовать относительный (или абсолютный) URL-адрес в теге сценария, в противном случае приложение завершает запрос сценария в каталоге, а сервер отвечает (catch-all) html-файлом.
<script src="/bundle.js"></script>
Вам необходимо дополнительно настроить свой сервер при использовании browserHistory
обслуживать соответствующий ресурс при начальной загрузке страницы.
Для получения дополнительной информации см. https://github.com/rackt/react-router/blob/master/docs/guides/basics/Histories.md#configuring-your-server.