Установить базовое имя на реакторе

Я настраиваю реактивный шаблон, чтобы начать проект на нем.

Наша среда разработки публикует "dev" версии приложения в подпутях, например: example.org/test/project-name

Затем, когда мы публикуем проект, он остается на example.org/

Я хотел бы использовать историю браузера (HTML5 API), а не историю хешей. Но это означает, что я должен установить basename React Router для соответствия текущей среде.

Прямо сейчас я пытаюсь настроить статическое базовое имя следующим образом:

const browserHistory = useRouterHistory(useBasename(createHistory))({
  basename: '/test/project-name',
});
const store = configureStore(initialState, browserHistory);

Но когда я запускаю приложение, домашняя страница по-прежнему / вместо /test/project-name/,


Итак, вопросы:

  1. Что я делаю неправильно?
  2. Как бы вы сделали базовое имя соответствовать текущей среде?

1 ответ

Ответ находится в документации по реагирующему маршрутизатору:

Имейте в виду, что useRouterHistory уже предварительно расширяет вашу фабрику истории с помощью расширений useQueries и useBasename из истории.

import { useRouterHistory } from 'react-router'
import { createHistory } from 'history'

const history = useRouterHistory(createHistory)({
  basename: '/base-path'
})
Другие вопросы по тегам