0
我有一個與貌似反應路由器2.4路由器:IndexRoute不工作的「/」
import ReactDOM from 'react-dom';
import React from 'react';
import { IndexRoute, Router, Route, browserHistory } from 'react-router';
import { Provider } from 'react-redux';
import * as Pages from 'pages';
import App from 'containers/App/App';
import store from './stores';
function requireAuth(nextState, replace) {
if (!store.getState().user) {
replace('/login');
}
}
export default function render() {
ReactDOM.render(
<Provider store={store}>
<Router history={browserHistory}>
<Route path="/">
<Route path="login" component={Pages.Login} />
<Route path="/" component={App} onEnter={requireAuth}>
<IndexRoute component={Pages.Dashboard} />
<Route path=":list_id" component={Pages.List} />
</Route>
</Route>
</Router>
</Provider>,
document.getElementById('lists')
);
}
一切正常,除了IndexRoute。如果我把IndexRoute放在App上下文中,它不起作用。如果我把它放在App上下文之外,那麼它就可以工作。我怎樣才能在App上下文中定義一個「/」的路由,同時允許Login之類的其他路由超出它?
我的應用程序正確渲染this.props.children
,因爲它按預期的方式工作於List組件。
如果我那樣做,那麼應用程序上下文獨立顯示,如果用戶Authed。我更新問題,以便您可以看到這個 – mezod
的邏輯也,我必須把/登錄上面或「登錄」變成:list_id – mezod
*應用程序上下文獨立顯示,如果用戶是Authed,*沒有得到這個。 –