Как вызвать вызов API после загрузки приложения - PullRequest
0 голосов
/ 05 октября 2018

Я использую стек React / Redux / Redux-observable / Redux-router.

Я хотел бы получить информацию о текущем пользователе (или вызвать перенаправление на портал аутентификации, если он не зарегистрирован)против остальных API, чтобы я мог показать соответствующий экран при запуске приложения.

Я не могу найти какой-либо правильный способ сделать это, так как моя проблема в том, что я не знаю, когда и где вызвать этидействия.

1 Ответ

0 голосов
/ 06 октября 2018

Я приведу вам пример с избыточностью, потому что я не знаком с наблюдаемыми.

Вы можете отправить действие, чтобы получить информацию о пользователе в методе жизненного цикла 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...