在 vue.js 应用程序中更新状态时使用什么(rxJs vs Vuex)

Gar*_*ine 1 rxjs vue.js vuex angular

我是 vue.js 的新手,但我已经涉足 angular 6 一年了。我曾经使用 RxJs 更新 Angular 组件中的数据,我发现这非常容易。现在,当我遇到 Vue 时,veux 出现在关于更新组件状态的文章中。哪个更适合更新组件的状态?

使用 vuex 状态管理更新状态还是使用 rxJs 的反应式编程更好?

// angular
import { AppService } from '../AppService';
isLoading = false;

ngOnInit() {
  this.appService.updateIsLoading.subscribe((res: boolean) => {
  this.isLoading = res;
});
}

// Vue
const store = new Vuex.Store({
   state: {
      isLoading: false,
  }
});.....................
Run Code Online (Sandbox Code Playgroud)

bbs*_*nbb 6

Vuex 和 rxJs 解决不同的问题。

Vuex管理你的共享状态,类似于 angular 世界中的 redux 或 ngrx。状态在可视组件之外“集中”存储,您的状态管理解决方案提供诸如时间旅行、一致访问和一些功能纪律之类的东西。Ngrx 不是 angular 框架的官方部分。

rxJs将您的异步代码包装为 observable,为异步操作提供不同的、更强大的语法,但存在学习曲线。Angular 喜欢 rxJs,它是平台的核心部分。Vue 世界似乎不太喜欢它,你当然可以不用它。但是,如果您来自其他地方并且知道自己喜欢什么,那就去做吧。Angular 教程将讨论 rxJs 作为状态管理解决方案,但它在做一个根本不同的工作,应该与 promises 和 async/await 一起考虑,而不是像 react 和 vue 中那样理解的“状态管理”。

  • 这对我来说仍然是一个问题。我曾开发过相当大的角度应用程序。我只见过 rxjs 用作 http 调用的包装器(一次),而且是一个非常不友好的。通过将状态放入服务中来“管理”状态。我怀疑使用 rxjs 的“管理状态”意味着“让它成为别人的问题”。 (2认同)