Я явно не понимаю что-то здесь, когда речь заходит о реакции / реакции маршрутизатора 4. Я пытаюсь проверить, вошел ли пользователь в систему или нет, чтобы контролировать маршруты пользовательского статуса navbar.Я не могу получить доступ к опоре, она просто исчезает.Может кто-то указать, что я не понимаю?isUserLoggedInServerCheck
возвращает значение на сервере, затем возвращает значение на AppServer, однако при CandidateLanding возвращает неопределенное значение.
Путь: Server
onPageLoad(sink => {
let isUserLoggedInServerCheck = false;
if (sink.request.cookies.sssr) {
isUserLoggedInServerCheck = true;
}
sink.renderIntoElementById(
'react-target',
renderToString(
<AppServer
location={sink.request.url}
isUserLoggedInServerCheck={isUserLoggedInServerCheck}
/>
)
);
});
Путь: AppServer
const AppServer = props => {
const context = {};
const { location, isUserLoggedInServerCheck } = props;
return (
<StaticRouter context={context} location={location} isUserLoggedInServerCheck={isUserLoggedInServerCheck}>
<div className="application">
<Switch>
<Route path="/" exact component={CandidateLanding} />
</Switch>
</div>
</StaticRouter>
);
};
Путь: CandidateLanding
function CandidateLanding(props) {
const { location, isUserLoggedInServerCheck } = props;
return (
<div>
<Navbar location={location.path} isUserLoggedInServerCheck={isUserLoggedInServerCheck} />
</div>
);
}
const CandidateLandingContainer = withTracker(props => {
const { isUserLoggedInServerCheck } = props;
if (Meteor.isServer) {
return {
isUserLoggedInServerCheck
};
}
if (Meteor.isClient) {
return {
isUserLoggedInServerCheck
};
}
})(CandidateLanding);