react全家桶包括哪些:项目开发必备的核心配套技术合集
刚入门React开发那会,最头疼的问题就是react全家桶包括哪些,网上的教程五花八门,有人凑七八个工具,有人只提三四个核心组件,照着乱七八糟的清单搭建项目,前后踩了无数适配的坑。
一开始傻傻只安装了react和react-dom,就着手开发后台管理页面。
完全没意识到单页项目的开发逻辑和简单demo完全不一样,页面跳转、全局数据存储、表单校验这些刚需功能,全都自己手写原生逻辑,代码写的又冗余又杂乱。页面嵌套层级一多,全局数据频繁错乱,路由跳转偶尔失灵,刷新页面还经常出现白屏问题,整整熬了两个通宵调试bug,越改越乱。折腾好久才搞明白,原生的React只是一个视图渲染库,单独使用根本支撑不了实际的业务项目,所谓的全家桶,就是适配React业务开发的一套专属配套工具,不是随便拼凑的第三方插件。
之前一直错误的把所有React相关插件都归为全家桶,导致项目依赖极度臃肿。
盲目堆砌工具,比缺工具更致命。
那段时间开发的项目,打包速度慢的离谱,本地启动都要等待几十秒,很多安装的工具从头到尾都没用到过,纯粹是给自己增加项目负担。后来跟着团队做正式项目,一点点梳理规范,才摸透了行业通用、真正刚需的React全家桶组成,没有多余花哨的内容,每一个组件都是为了解决实际开发痛点。核心基础是react和react-dom,这是整个框架的根基,前者负责逻辑渲染,后者负责DOM节点挂载,是所有项目的必备内容。其次是路由工具react-router-dom,单页应用的页面跳转、路由守卫、权限控制,全部依靠它实现,是业务开发离不开的核心工具。
状态管理工具是全家桶的核心重点,现在主流通用的是Redux Toolkit,替代了老旧繁琐的原生redux,简化了状态编写逻辑,适配大中型项目的全局数据管理,日常开发的弹窗状态、用户信息、全局配置都靠它维护。除此之外,高频使用的还有react-hook-form处理复杂表单校验、数据收集,styled-components解决组件样式冲突、实现样式模块化,这几个工具组合起来,就是适配绝大多数业务场景的标准React全家桶。
很多新手都会踩一个和我一样的误区,把axios网络请求库算进全家桶里。其实axios是前端通用请求工具,适配所有框架,并不属于React专属的全家桶体系,之前我一直混为一谈,导致整理项目依赖的时候始终混乱不清。
不同项目规模,用到的全家桶组件也不一样,小型展示项目只需要基础的渲染库和路由就足够,根本不用引入状态管理工具,中型业务项目再补齐表单和样式工具,大型复杂项目才需要完整配置所有核心组件,按需引入才是最合理的开发方式。
清理完项目里所有无效依赖,重新搭建了一套精简规范的项目架构,看着干净整洁的配置文件,直接关掉编辑器休息了。