Задать вопрос
@webe
frontend

Зачем нужен runInAction?

Подскажите плиз, зачнем нужен runInAction если и без него все работает и присвоение проходит только после завершения промиса (после await)
@action('Search for user on Github')
  searchForUser = async () => {
    if (!this.searchName) return;
    this.fetchingData = true;
    const [user, repos] = await Promise.all([
      this.fetchFromGithub(`/users/${this.searchName}`),
      this.fetchFromGithub(`/users/${this.searchName}/repos`)
    ]);
    runInAction("Update State after fetching Github's Data", () => {
      this.user = user;
      this.repos = repos;
      this.fetchingData = false;
    });
  };
}
  • Вопрос задан
  • 1394 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
То что запускается в пределах runInAction не будет лишний раз триггерить рендер.
Тоесть это такое подобие транзакции.
Однако я не вижу смысла в runInAction внутри другого action.
Хотя мб это немного поможет при отладке.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы