reactjs - 创建一个像 slack 一样的子域,例如: https://someteam. slack.com/在 react JS

标签 reactjs react-router subdomain slack dvajs

我正在尝试实现像 slack 在 react 中所做的功能。大家在登录Slack之前都知道,网址是这样的https://www.slack.com/ ,但是一旦您登录它就会更改为 https://www.team.slack.com/ .

所以我的 react 项目有 2 种不同的布局(着陆布局和客户端仪表板)。
我正在寻找的是..

着陆布局应在 https://www.example.com/ 上运行
一旦客户端成功登录,域就会更改为 https://www.clientname.example.com/和管理布局得到渲染。

需要帮助
如何实现此 dynamic subdomain based渲染 react 组件。

最佳答案

首先,将所有请求重定向到 index.html。之后,您可以使用 window.location.host .只需解析此参数并根据解析的数据呈现您的组件。

const parsedData = window.location.host.split(".");

if(parsedData.length >= 3){
    const subDomain = parsedData[0];
    ReactDOM.render(<SubDomainApp subDomain={subDomain} />, document.getElementById('root'));
}else{
    ReactDOM.render(<MainApp />, document.getElementById('root'));
}

关于reactjs - 创建一个像 slack 一样的子域,例如: https://someteam. slack.com/在 react JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52143565/

相关文章:

reactjs - 如何自定义 React Native TextInput 的高度?

javascript - 将额外的页面推送到历史记录

.htaccess - 将子域重定向到另一个域的文件夹

Node.js 子域不起作用?

javascript - 在 React 内联样式中使用 props 作为关键属性

reactjs - 无法在 react 中从 api 获取数据

javascript - Redux 正确发送有效负载

javascript - React-router v4 一次显示多个路由

javascript - ReactJS:具有多个 View 的侧边栏

ssl - 支付网关 URL - 首选名称