Почему в истории реакции createHashHistory добавляет / # для каждого пути? - PullRequest
0 голосов
/ 28 мая 2020

У меня есть приложение с этой конфигурацией для истории:

import { createHashHistory } from 'history';
import { ConnectedRouter } from 'connected-react-router';

const history = createHashHistory({
  hashType: 'slash',
});
    ...
  <ConnectedRouter history={history}>
    <App />
  </ConnectedRouter>

Но все мои маршруты добавляются /# например: localhost:8080/ становится: localhost:8080/#/

Я уже пытался обновить мои пакеты как , в этом вопросе говорится , но это не сработало.

Единственное, что сработало, это изменение createHashHistory на createBrowserHistory, но я не уверен, что разница между ними и почему createHashHistory добавляет /#

1 Ответ

1 голос
/ 29 мая 2020

С hashHistory он создает URL-адрес вида http://yourwebsite.net/#page / xxx

С browserHistory он создает URL-адрес, например http://yourwebsite.net/page/xxx

Что один использовать? В реальных продуктах в основном используется browserHistory. Практическое правило: «если вы используете сервер Dynami c, который может обрабатывать динамические c URL-адреса, вам необходимо использовать компонент BrowserRouter, но если вы используете сервер, который обслуживает только файлы stati c, тогда HashRouter компонент - это то, что будет использоваться в этом случае. "

В вашем коде hashType: 'sla sh' - это просто значение по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...