У меня возникла проблема, обсуждаемая в документации React Create App о том, как маршрутизаторы, использующие API истории pushState HTML5, будут работать на статических файловых серверах без настройки его на обслуживание index.html каждый раз. Как я могу решить эту проблему при использовании страниц GitHub? Кроме того, я не использую приложение Create React или activ-скрипты
Я попытался добавить базовое имя в компонент BrowserRouter
<BrowserRouter basename={process.env.PUBLIC_URL}>
Гораздо лучшее объяснение проблемы здесь:
https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#serving-apps-with-client-side-routing
При использовании react-router-dom со страницами GitHub вам нужно будет использовать HashRouter вместо BrowserRouter. Он использует фрагмент URL #, чтобы сохранить маршрут, обходя отсутствие поддержки pushState на страницах GH.
react-router-dom
HashRouter
BrowserRouter
#
pushState
(Есть несколько неуклюжих способов сделать pushState для страниц GitHub, но я лично не рекомендую их. Вот руководство для этого )