这是问题的后续行动:
onEnter not called in React-Router
以下代码正确执行重定向,但实际上并未呈现与重定向网址相关的组件。
下面是我的代码,对上一个问题中给出的代码的一个小修改。
// Authentication "before" filter
function requireAuth(){
if(isLoggedIn())
return <Home />
else
return <Redirect to="/front"/>
}
// Render the app
render(
<Provider store={store}>
<Router history={history}>
<App>
<Switch>
<Route path="/front" component={Front} />
<Route path="/home" render={requireAuth} />
<Route exact path="/" render={requireAuth} />
<Route path="*" component={NoMatch} />
</Switch>
</App>
</Router>
</Provider>,
document.getElementById("lf-app")
)
重定向后刷新浏览器时,页面会正确显示。
我希望渲染能够正常工作,但它不会......这是一个错误还是想要的行为?
历史:
...
import {createBrowserHistory} from "history";
// Init sagaMiddleware
const sagaMiddleware = createSagaMiddleware();
const store = createStore(
appReducers,
applyMiddleware(sagaMiddleware)
);
const history = syncHistoryWithStore(createBrowserHistory(), store);