我正在将react-router-dom
用作应用程序的路由器。我需要重定向一些像这样的哈希网址: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'),
);
};