1
我正在構建一個反應應用程序,其中兩個不同的用戶組登錄(通過Firebase)。Costomize React Routing with Switch Statement
每個用戶組需要獲得不同的路由。不同的團體應該分享網址,但內容不同。
要做到這一點,我已經添加了一個switch語句到路由js。
當我改變acctype手動代碼工作像預期,但我需要爲了改變acctype變量超出我的firebaseclass的路由合適的人到合適的路線......
的問題是,在任何setter方法可以設置acctype變量之前,反應呈現視圖。我已經用回調和.done以及asnyc來嘗試它了。
這routes.js出口與可變車轍成分直接進入index.js React.dom.render()
謝謝您的幫助!
import {Route, Router, IndexRedirect, browserHistory} from 'react-
router';
var acctype = 0;
var rut = "";
switch (acctype) {
case 0: //Group0
rut = (
<Router history={browserHistory}>
<Route path="/" component={Blank}>
<IndexRedirect to="/welcome"/>
<Route path="welcome" component={Welcome_View}></Route>
<Route path="login" component={Login_View}></Route>
<Route path="*" component={fofView}></Route>
</Route>
</Router>
);
break;
case 1: //Group1
rut = (
<Router history={browserHistory}>
<Route path="/" component={Main}>
<IndexRedirect to="/uebersicht"/>
<Route path="uebersicht" component={Uebersicht_KtppView}></Route>
<Route path="wiki" component={Wiki_KtppView}></Route>
<Route path="netzwerk" component={Netzwerk_KtppView}></Route>
<Route path="meineEinrichtung" component={meineEinrichtung_KtppView}></Route>
<Route path="feedback" component={Feedback_KtppView}></Route>
</Route>
</Router>
);
break;
case 2: //Group 2
rut = (
<Router history={browserHistory}>
<Route path="/" component={Main}>
<IndexRedirect to="/main"/>
<Route path="main" component={MainView}></Route>
<Route path="minor" component={MinorView}></Route>
</Route>
</Router>
);
break;
}
export default(rut)