MobX or Redux?
前言 在过去的项目中一直用的都是Redux,觉得挺不错的,按照官方推荐的一些写法,再加上团队风格,打造了一套关于Redux的架构,但是,现在觉得写Action、Reducer太繁琐,随着业务不断的增量,相应的文件和代码也会不断的增加,而且对新人来说不是非常友好(理解Redux比较困难),听说一方诸侯MobX非常不错,所以在尝试使用了,目前项目中两套架构都是并存,写下自己的一些感想。 都解决什么问题? 1、组件之间复用状态非常困难 React本身没有提供将可复用性状态“附加”到组件的途径(例如,把组件连接到 store)。如果你使用过 React 一段时间,你也许会熟悉一些解决此类问题的方案,比如 props 和 HOC。但是这类方案需要重新组织你的组件结构,这可能会很麻烦,使你的代码难以理解。写下这片博客的时候,React已提供Hook,但是本人觉得这都是些hack方案。 2、复杂组件变得难以理解 我们经常维护一些组件,组件起初很简单,但是逐渐会被状态逻辑和副作用充斥。每个生命周期常常包含一些不相关的逻辑。例如,组件常常在 componentDidMount 和 componentDidUpdate 中获取数据。但是,同一个 componentDidMount 中可能也包含很多其它的逻辑,如设置事件监听,而之后需在 componentWillUnmount 中清除