我正在使用React和React-Router构建网站。 我的网站分为两个部分:前端和合作伙伴部分。 我想使用子域名partner
访问合作伙伴部分。 由于React-Router不支持子域名路由,因此我编写了以下代码。 我不确定这是否是“良好的实践”。 因此我的问题是,这是一个适当的解决方案吗? 如果不是,有哪些替代方案?
<BrowserRouter>
<Route path="/" render={props => {
const [subdomain] = window.location.hostname.split('.');
if (subdomain === 'partner') return <PartnerLayout {...props}/>;
return <AppLayout {...props}/>;
}}/>
</BrowserRouter>
<BrowserRouter> <Route path="/" render={props => { const subdomain = window.location.hostname.split('.'); if (subdomain && subdomain.length > 1) return <PartnerLayout {...props} subdomain={subdomain[0]}/>; return <AppLayout {...props}/>; }}/> </BrowserRouter>
- semydif(typeof window !== "undefined")
中。 - Nader Zouaoui