前几天我调到了新的部门。我的新同事给了我一个重构现有 React 项目的任务。
当我阅读代码时,我对Context API的使用方式感到震惊。之前的编码员将所有内容(是的,几乎所有内容)放入 Context 对象中,将其视为管理所有状态甚至某些本地临时状态的存储。太疯狂了!
他还在一个 .ts 文件中的一个(是的,绝对只有一个)组件中编写了页面的所有内容。我很难在脑海中弄清楚代码的逻辑。但我仍然接受这些狗屎代码(我别无选择),所以我做出一个重大决定:我将用 Mobx 在一周内重写所有这些页面,并将代码拆分为不同的功能组件。
通过 Mobx,我创建了多个存储来处理来自 API 的所有数据,并将一个巨大的组件拆分为不同的小块;一切开始变得清晰和简单。本地状态应该在它使用的范围内,公共部分将从 Mobx 的存储中获取。
终于彻底删除了Context对象,几千行代码被删除了,世界又安静了!
我想说一下Context API。如果你确实有一些东西,比如一些全局配置信息要共享给整个应用程序,你可以使用 Context API,但如果你只是想避免使用一些第三方状态管理库,那么将上下文视为一个坏主意替代品。
让 Context 成为 Context,让状态由像 Mobx 这样的库来管理。
请停止滥用 React Context API!
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3