Ich befolge die Anleitung auf React Router 4 für Redirect (Auth) und ich habe Probleme beim Rendern Basis auf das Versprechen der Ajax zurück. Ich bin mir nicht sicher, warum mein Rendering innerhalb des Versprechens nicht zurückgegeben wird. Könnte mir jemand in die richtige Richtung zeigen?React Router 4 Async Rendering
import React from 'react';
import {
Route,
Redirect,
withRouter
} from 'react-router-dom';
import HeaderContainer from '../containers/HeaderContainer';
const PrivateRoute = ({ component: Component, ...props }) => {
const validated = (rest) => {
props.fetchUser()
.then(() => {
return (
<div>
<HeaderContainer />
<Component {...rest}/>
</div>
)
})
.catch(()=> {
return (
<Redirect to={{
pathname: '/signin',
state: { from: props.location }
}}/>
)
}
);
}
return (
<Route {...props} render={rest => {
return (
<div>
{ validated(rest) }
</div>
)
}}/>
)
}
export default withRouter(PrivateRoute);
Meine Strecken wie folgt aussehen
const Root = ({ store }) => {
return (
<Provider store={ store }>
<BrowserRouter onUpdate={() => window.scrollTo(0, 0)}>
<div className="root">
<Switch>
<Route exact path="/signin" component={SignInContainer}/>
<PrivateRouteContainer exact path="/" component={HomePageContainer} />
</Switch>
</div>
</BrowserRouter>
</Provider>
)
};
Wie bekomme ich keine NULL-Komponente mit serverseitigem Rendering? –