我目前正在计划大规模的Angular 6应用程序,并试图找到一种最能满足团队需求的副作用处理方法。
我意识到在Ngrx生态系统中最常用的方法是使用 ngrx / effects 库,我想知道与{{3 }}方法,这似乎是React应用程序中最受欢迎的方法。
我想到了将所有引起副作用的逻辑隔离在一个地方的想法,我总是倾向于将它们隔离在Action Creators范围内。将所有副作用逻辑转移到不同的“抽象层”感觉就像在编写副作用动作时会增加更多开销,而没有相当大的附加值,因为大多数“强烈逻辑”动作都是用于处理副作用。 >
还有其他理由更喜欢效果吗? Angular中的ngrx与经典的Redux for React之间是否存在根本的区别,从而使ngrx / effect成为更好的选择?
答案 0 :(得分:1)
React / Redux堆栈中的区别可能是,如果您使用sagas而不是thunk(https://github.com/redux-saga/redux-saga),则像thunk一样,您可以通过一次操作产生很多副作用,但使用saga可以产生很多副作用异步动作来自单个动作,每个动作都有自己的作用域,因此调试,代码拆分和关注点分离更加容易。
答案 1 :(得分:1)
ngrx / effects使用rxjs(可观察的)的功能,并且更适合角度环境。