#javascript #reactjs #hash #react-router
#javascript #reactjs #хэш #реагировать-маршрутизатор
Вопрос:
У меня проблема с реализацией полностью функциональной 404
страницы с помощью React HashRouter
.
routes.tsx
export const Routes = () =&&t; (
<HashRouter&&t;
<Switch&&t;
<Route path="/" exact={true} component={Home} /&&t;
<Route path="/route1" component={Route1} /&&t;
<Route path="/route2" component={Route2} /&&t;
<Route component={ErrorPa&e} /&&t;
</Switch&&t;
</HashRouter&&t;
);
app.tsx
<&&t;
...
<Routes /&&t;
...
</&&t;
Текущее поведение:
- При вводе в адресной строке
{url}/#/{non-existin&-route}
поведение является правильным — браузер отображаетErrorPa&e
- При вводе в адресной строке
{url}/{non-existin&-route}
поведение некорректно — браузер изменяет URL на{url}/{non-existin&-route}#/
и отображаетHome
страницу.
Я хотел бы, ErrorPa&e
чтобы она отображалась в обеих ситуациях.
Эта проблема не возникает, когда я использую BrowserRouter
, но я должен использовать HashRouter
здесь.
Заранее спасибо за вашу помощь!