位置: 编程技术 - 正文

详解使用React全家桶搭建一个后台管理系统(react用什么ui)

编辑:rootadmin

推荐整理分享详解使用React全家桶搭建一个后台管理系统(react用什么ui),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:react 1,react,react用什么ui,react require,reactan,reactan,react,react-quill,内容如对您有帮助,希望把文章链接给更多的朋友!

引子

学生时代为了掌握某个知识点会不断地做习题,做总结,步入岗位之后何尝不是一样呢?做业务就如同做习题,如果‘课后'适当地进行总结,必然更快地提升自己的水平。 由于公司采用的react+node的技术栈,于是就完成了一个reactSPA小项目,计划日后把平时工作中遇到的业务以及学习中遇到有趣的东西给抽象成demo展示出来。目前该项目只是把雏形搭好,效果如下。在此文的基础上,写了篇新文章使用React全家桶搭建一个后台管理系统,欢迎围观。(附注:因为项目不时更新,文章不一定会即时更新,所以以实际的项目为准)

其实这套界面风格不仅仅可以作为后台管理系统界面,也可以修改成一个可以展示项目并且美观的博客。项目地址在这里(本地跑效果更佳),如果有好的意见欢迎提issue或pr。

目录结构

项目的初始结构和构造原因已罗列如上,由于过些日子会引人ts,所以项目结构必然还会改动,但肯定基于这基本雏形扩展的。

下面对目录结构作以下说明

项目最初始是用create-react-app初始化的,create-react-app 是Facebook官方提供的react脚手架,也是业界最优秀的 React 应用开发工具之一; 中间件目录到时候可以引人日志中间件等; container和components存放的都是react组件,区别是:只要和主页样式有关的组件就放在container中,和功能有关的模块(比如我实现分装的表格组件、弹出输入框组件等)就应放到components中; 前端有些通用配置最好是存到全局(浏览器)中,这样调用起来就不用引用了,方便; ajax模块需要自己实现的原因是到时候要是自己需要有跨域cors之类的需求,需要自定义多种Ajax请求(用fetch的情况下,未来fetch会越来越强大)

技术栈相关

虽然用到的技术栈众多,但是自己也谈不上熟练运用,多半是边查API边用的,所以只罗列些自己用相关的技术栈解决的点;

webpack(2.6)

①按需加载:

babel-plugin-import 是一个用于按需加载组件代码和样式的 babel 插件(原理),在config/webpack.config.dev.js 文件中作如下修改:

②引人less:

首先引人 less-loader 来加载 less 样式,同时修改 config/webpack.config.dev.js 文件

这里利用了 less-loader 的 modifyVars 来进行主题配置, 变量和其他配置方式可以参考 配置主题 文档。

③一键发布到gh-pages:

用到了gh-pages,使用 npm run deploy 一键发布到自己的gh-pages上,姑且把gh-pages当成生产环境吧,所以在修改config/webpack.config.dev.js 文件的同时也要对config/webpack.config.prod.js作出一模一样的修改。

ps:尽管我是这样发布到gh-pages的,该项目的gh-pages展示地址为这里,在gh-pages上展示图明显比本地大了好些像素,如果有朋友知道是为什么,不吝赐教啊。

④引用路径的缩写:

配置了引用路径的缩写后,就可以在任意地方如这样引用,比如

详解使用React全家桶搭建一个后台管理系统(react用什么ui)

antd(2.)

antd是(蚂蚁金服体验技术部)经过大量的项目实践和总结,沉淀出的一个中台设计语言 Ant Design,使用者包括蚂蚁金服、阿里巴巴、口碑、美团、滴滴等一系列知名公司,而且我从他们的设计理念也学到了很多关于UI、UX的知识。

该项目采用的是antd最新的版本2..0,由于2.x的版本和1.x的版本还是相差蛮大的,之前参考的项目(基于1.x)改起来太费劲,所以在组件那块就干脆自己重新封装了一遍。这部分知识点我建议还是看文档,文档解决不了扒扒源码。

react-router(4.x)

react-router 4.x和2.x的差异又是特别的大,召唤文档,网上基本上都还是2.x的教程,看过文档之后,反正简而言之其就是要让使用者更容易上手。印象最深的是以前嵌套路由写法在4.x中写到同层了。如下示例他们的效果是相同的。

2.x:

4.x:

还有更多的特性和API的出现,期待有更好的分析文章的出现,有机会我也会来总结下react-router(4.x)和(2.x)的差异。

fetch

先推荐这篇文章《传统Ajax已死,Fetch永生》,再推荐API;

fetch是个好东西,好在简单,除了promise最基本的用法,还能这样写

但是其简洁的特点是为了让我们可以自定义其扩展,还是其本身就还不完善呢?我在调用JSONP的请求时,发现用fetch掉不同,后来在文档上才发现其不支持JSONP的调用,所幸社区还是很给力的找到了fetch-jsonp这个模块,实现了对百度音乐接口的JSONP调用。fetch-jsonp使用也和fetch类似,代码如下

redux

使用了redux也已经有段时日了,我对redux的定义就是更好的管理组件的状态,没有redux的时候就像现在这个应用一样,逻辑少状态变化也还不太复杂,但是一旦逻辑复杂起来,各种组件状态、界面耦合起来,就容易出岔子,那redux就是为了解决这个而生的,让我们可以更多地关注UI层,而降低对状态的关注。之前也写了些redux的文章,纸上得来终觉浅,绝知此事要躬行。

--------------------------更新---------------------------

已经在项目中加入了redux技术栈。

项目的一些待扩展计划

封装组件

不管组件封装得好不好,个人感觉其是提高水平很高效的方法,多练,继续封装出各式各样的功能组件。

typescript

公司大概会在6月份开始,新的项目就要采用ts开发了,所以我也到时会在该项目中引人ts的语法,我现在的感觉是使用ts后,前后端对接会更加轻松,不会有一些类型不匹配的低级错误,而且antd貌似和ts也能兼容得蛮好。

测试框架

这部分其实我还是没什么经验的,先写上吧,有机会会拿这个项目开刀,并写心得。

标签: react用什么ui

本文链接地址:https://www.jiuchutong.com/biancheng/369727.html 转载请保留说明!

上一篇:JavaScript中立即执行函数实例详解(js立即执行函数几种写法)

下一篇:JavaScript实现三级级联特效(js类的实现)

  • 新企业所得税季初资产总额
  • 发票税率开错了怎么办
  • 个体每月开票超10万
  • 开发票系统税号0和o怎么区别
  • 金蝶系统如何设置套打
  • 2021小规模免税
  • 减免税额和抵免的区别
  • 进项税抵扣销项税怎么做账
  • 其他应付款计入资本公积
  • 固定资产贷款偿还期计算公式
  • 拍卖书画收入如何交税
  • 购入生产产品用的机器设备一台
  • 电子产品委外加工
  • 免抵退分录怎么做
  • 小规模纳税人租赁发票税率是多少
  • 建安企业销售收入如何确认
  • 合法票据的利息计算方法
  • 2018工资个税税率表
  • 公司拖欠工资还要继续工作吗?
  • 工会筹备金交给谁
  • 地税附加税减免政策
  • 分支机构享受了税收优惠,是由总机构备案还是分支机构备案?
  • 设定提存计划怎么填
  • 对方不开票
  • 机会成本怎么计量
  • 运费发票备注栏样板
  • 租赁服务可以享受加计抵减吗
  • linux命令执行成功后会返回什么
  • 主办会计工作主要做什么
  • 公司收到的应收股利需要分配利润吗
  • 非货币性资产交换和债务重组的区别
  • 工程投标保证金最新规定
  • mac怎么删除应用程序中没有的软件
  • replace.exe进程
  • synaudsrv.exe是什么
  • 别人说你坏话怎么发朋友圈说说
  • 土地增值税扣除项目金额怎么算
  • 企业租赁发票税率是多少2023年
  • 总资产周转次数与总资产周转率
  • 怎么用云服务
  • php数组数据结构
  • 深度学习实战10-数学公式识别-将图片转换为Latex(img2Latex)
  • 将时间序列转化为图像
  • 金税盘显示242104
  • 你别找了
  • 直播服务费的开票大类
  • 什么是企业管理的首要职能
  • 金融企业会计科目有哪些
  • python清除变量的命令
  • 开具红字增值税普通发票
  • 职工薪酬属于收益性支出
  • 融资租入的固定资产视为自有固定资产
  • 哪些增值税专用发票能抵扣进项税
  • 营改增后运输企业税收政策
  • 建筑工程施工围挡安装
  • 哪些进项税额不得抵扣?
  • 收到分红的会计科目
  • 业务招待费扣除标准是多少
  • 未拿到发票如何处理
  • 个体户记账报税
  • 取得下列资产时应按公允价值计量
  • 进项税加计扣除10%怎么算
  • 收据能作为抵减成本吗
  • select * from sp_who的解决方案
  • SQLServer CONVERT 函数测试结果
  • 数据库中的冗余度是什么意思
  • u盘装win7系统步骤
  • 自动启动win10
  • cocos2dx怎么用啊
  • pycharm怎么学
  • android新手入门
  • 安卓自定义状态栏图标
  • jquery操作
  • java script教程
  • 河南税务公众号缴费养老保险
  • 深圳市国家税务局电子税务局官网
  • 汽车购车发票开完票能更改名字吗?
  • 上善若水 宁静致远,适合小学标语吗?
  • 如何在国税网查看社保人员信息
  • 山东国税局官网登录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设