Я использую react-router-dom
в качестве маршрутизатора для моего приложения.Мне нужно перенаправить некоторые URL-адреса хеша, как этот: http://localhost:3000/#/contract?id=8171675304
Поэтому я использовал HashRouter .Это решение работает для моей ссылки выше, но проблема в том, что у меня есть перенаправление безопасности (с AuthenticationProvider ), и я заметил, что к URL добавлен хэш.
Я пробовал это решение, ноперенаправление не работает, даже если я переключаюсь на случайный URL.
Это мой компонент приложения:
const onComponentDidMount = ({ history }) => {
const { hash, href } = window.location;
if (href.includes('authentication')) {
debugger;
window.stop();
window.location.href = 'https://google.com';
}
};
const enhance = compose(
lifecycle({
componentDidMount() {
/* istanbul ignore next */
onComponentDidMount(this);
},
}),
);
const HashRoute = enhance(HashRouter);
export const displayIndex = () => {
ReactDOM.render(
<HashRoute>
<AuthenticationProvider>
<OidcSecure>
<App />
</OidcSecure>
</AuthenticationProvider>
</HashRoute>,
document.getElementById('root'),
);
};