На странице профиля я хочу запретить незарегистрированным пользователям доступ к странице. Однако объект Meteor.user () не определен при начальной загрузке страницы. Как ждать, пока объект Meteor.user () не будет определен. Когда точно известно, что пользователь не вошел в систему и Meteor.user () загружен?
Вот часть моего метода рендеринга профиля, сопровождаемого методом WithTracker. Как вы можете видеть, объект Redirect визуализируется, когда Meteor.user () недоступен.
render() {
const {user} = this.props
console.log(user) //First undefined, later defined. But already renders redirect, so it's not useful
return (
<Container fluid className='p-3 mb-5'>
{/* Not logged in */}
{!user && <Redirect
to={{
pathname: '/SignUp',
state: {
location: '/Profile'
}
}}/>}
{/* Logged in */}
...
</Container>
)
}
export default withTracker(() => {
return {
user: Meteor.user()
}
})(Profile)