创建一个像slack这样的子域,例如:REACT JS中的https://someteam.slack.com/

时间:2018-09-03 05:25:03

标签: reactjs react-router subdomain slack dvajs

我正在尝试实现像slack这样的功能。大家都知道,在登录Slack之前,URL看起来像这样https://www.slack.com/,但是一旦登录,它就会变成https://www.team.slack.com/

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

着陆布局应在https://www.example.com/上运行 客户端成功登录后,域将变为https://www.clientname.example.com/,并且管理员布局也将呈现。

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

1 个答案:

答案 0 :(得分:0)

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

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

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