Я приведу вам пример с избыточностью, потому что я не знаком с наблюдаемыми.
Вы можете отправить действие, чтобы получить информацию о пользователе в методе жизненного цикла componentDidMount
вашего корневого компонента, и отобразитьправильная часть вашего пользовательского интерфейса в зависимости от того, что было получено.
Или вы всегда можете выполнить рендеринг маршрутизатора и отправлять правильное действие навигации в промежуточном программном обеспечении в зависимости от того, что вы получите за getUserInfo
.
class Root extends React.Component {
componentDidMount() {
this.props.getUserInfo();
}
render() {
return (
{this.props.userLoggedIn ? <LoggedInUI /> : <LoginPage />}
);
}
}
const mapStateToProps = state => ({
userLoggedIn: state.user.loggedIn,
});
const mapDispatchToProps = {
getUserInfo,
};
export default connect(mapStateToProps, mapDispatchToProps)(Root);