重学 Rxjs —— 总结与应用

377 阅读2分钟

「这是我参与2022首次更文挑战的第40天,活动详情查看:2022首次更文挑战

经过了最近一个系列的文章,我们学习了 Rxjs 常用的操作符,也在 React 和 Redux 等应用中引入了 Rxjs,目前可以说是会用 Rxjs 了,那么本篇文章作为系列文章的总结,我们继续思考最原始的问题,什么时候需要 Rxjs?

在网上经常会看到一些提问,没用过 Rxjs 的人通常不知道什么时候该用 Rxjs,一个常见的疑问就是我现在没用 Rxjs 也好好的,为什么要引入一个这么麻烦的东西?最常见的答案是当数据流足够复杂时使用,问题就在于,如何界定这个复杂?

我个人倒是不觉得 Rxjs 很重,我也不觉得会有哪些场景一定要用 Rxjs,它的意义在于熟悉了之后能让你的思维逻辑更清晰,在团队里是否使用的标准很简单,团队成员能不能接受这个,没有接触过 Rxjs 的新人要不要学习这个,不懂 Rxjs 的人能不能快速理解代码,这几个问题解决了,是否要用 Rxjs 就有答案了。

一个项目最初引入 Rxjs 可以不需要做非常复杂的事情,可以从一些简单的事情开始,比如使用 Subject 代替 EventEmitter,使用 fromEvent 代替 addEventListener 等,大家也可以有一个逐步上手的过程,在这个过程中随着越来越多操作符的引入,越来越多的数据源转化为 Rxjs 流,对 Rxjs 的理解和认知也会逐渐加深,最终会慢慢体会到 Rxjs 带来的便捷,之后就可以更大范围的使用了。在这个过程中需要注意一点,Rxjs 具有很强的传染性,前期一定要控制好边界。

最后还是别为了应用技术而应用,我们的目的是解决实际问题,如果明确使用 Rxjs 不会带来任何收益,那么大可不必浪费时间,多学一门技术是为了少一些问题,而不是给自己找麻烦。