当前位置:首页 > 科技  > 软件

和后端吵架后,我写了个库,让整个前端团队更加规范!

来源: 责编: 时间:2024-04-24 09:08:07 271观看
导读大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~本文源码地址:https://github.com/sanxin-lin/use-dsp背景在平时的开发中,表格数据->(增加/编辑/查看)行->(增加/编辑)提交,这

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~2iS28资讯网——每日最新资讯28at.com

本文源码地址:https://github.com/sanxin-lin/use-dsp2iS28资讯网——每日最新资讯28at.com

背景

在平时的开发中,表格数据->(增加/编辑/查看)行->(增加/编辑)提交,这是很常见且简单的业务,但是就是这些业务,我也发现一些问题2iS28资讯网——每日最新资讯28at.com

图片图片2iS28资讯网——每日最新资讯28at.com

首先我们来理性一下这些业务的逻辑2iS28资讯网——每日最新资讯28at.com

  • 第一步:请求回表格的数据
  • 第二步:点开(增加/编辑/查看)弹窗,如果是(编辑/查看),则需要将表格行的数据传到弹窗中回显
  • 第三部:如果是(编辑)弹窗,则需要把表单数据提交请求接口

我用一个图来概括大概就是:2iS28资讯网——每日最新资讯28at.com

图片图片2iS28资讯网——每日最新资讯28at.com

问题所在

我不知道其他公司怎么样,但是就拿我自身来举例子,公司的后端跟前端的命名规则是不同的2iS28资讯网——每日最新资讯28at.com

  • 后端命名: 请求方法+字段类型+字段含义+下划线命名(比如 in_name、os_user_id)
  • 前端命名: 字段含义+驼峰命名(比如 name、userId)

回到刚刚的业务逻辑,还是那张图,假如我们前端不去管命名的话,那么数据的传输是这样的,发现了很多人都懒得去转换后端返回的字段名,直接拿着后端的字段名去当做前端的表单字段名,但这是不符合前端规范的2iS28资讯网——每日最新资讯28at.com

图片图片2iS28资讯网——每日最新资讯28at.com

理想应该是表单要用前端的命名,比如这样2iS28资讯网——每日最新资讯28at.com

图片图片2iS28资讯网——每日最新资讯28at.com

但是很多前端就是懒得去转换,原因有多个:2iS28资讯网——每日最新资讯28at.com

  • 开发者自身比较懒,或者没有规范意识
  • 回显时要转一次,提交时还要再转一次,每次总是得写一遍

解决方案

所以能不能写一个工具,解放开发者的压力又能达到期望的效果呢?比如我开发一个工具,然后像下面这样在弹窗里用2iS28资讯网——每日最新资讯28at.com

  • state: 响应式表单数据,可以用在弹窗表单中
  • resetState: 重置表单
  • inputState: 将表格行数据转成表单数据
  • outputState: 将表单数据转成提交请求的数据

配置的含义如下:2iS28资讯网——每日最新资讯28at.com

  • default: 表单字段默认值
  • input: 转入的字段名
  • output: 转出的字段名
  • inputStrategy: 转入的转换策略,可以选择内置的,也可以自定义策略函数
  • outputStrategy: 转出的转换策略,可以选择内置的,也可以自定义策略函数

图片图片2iS28资讯网——每日最新资讯28at.com

转入和转出策略,内置了一些,你也可以自定义,内置的有如下2iS28资讯网——每日最新资讯28at.com

图片图片2iS28资讯网——每日最新资讯28at.com

下面是自定义策略函数的例子,必须要在策略函数中返回一个转换值2iS28资讯网——每日最新资讯28at.com

图片图片2iS28资讯网——每日最新资讯28at.com

这样的话,当我们执行对应的转换函数之后,会得到我们想要的结果2iS28资讯网——每日最新资讯28at.com

图片图片2iS28资讯网——每日最新资讯28at.com

use-dsp

所以我开发了一个工具2iS28资讯网——每日最新资讯28at.com

源码地址:https://github.com/sanxin-lin/use-dsp2iS28资讯网——每日最新资讯28at.com

其实 dsp 意思就是2iS28资讯网——每日最新资讯28at.com

  • data
  • state
  • parameter
npm i use-dspyarn i use-dsppnpm i use-dspimport useDSP from 'use-dsp'

为啥不从一开始就转?

有人会问,为啥不从一开始请求表格数据回来的时候,就把数据转成前端的命名规范?2iS28资讯网——每日最新资讯28at.com

其实这个问题我也想过,但是设想一下,有一些表格如果只是单纯做展示作用,那么就没必要去转字段名了,毕竟不涉及任何的数据传递。2iS28资讯网——每日最新资讯28at.com

但是需要编辑或者查看弹窗的表格,就涉及到了行数据的传递,那么就需要转字段名2iS28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-85047-0.html和后端吵架后,我写了个库,让整个前端团队更加规范!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 美团社招一面,比预想的简单。

下一篇: 工作中有没有做过性能调优?一问这个便知!

标签:
  • 热门焦点
  • K60至尊版刚预热 一加Ace2 Pro正面硬刚

    Redmi这边刚如火如荼的宣传了K60 Ultra的各种技术和硬件配置,作为竞品的一加也坐不住了。一加中国区总裁李杰发布了两条微博,表示在自家的一加Ace2上早就已经采用了和PixelWo
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • 从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • 这款新兴工具平台,让你的电脑效率翻倍

    随着信息技术的发展,我们获取信息的渠道越来越多,但是处理信息的效率却成为一个瓶颈。于是各种工具应运而生,都在争相解决我们的工作效率问题。今天我要给大家介绍一款效率
  • WebRTC.Net库开发进阶,教你实现屏幕共享和多路复用!

    WebRTC.Net库:让你的应用更亲民友好,实现视频通话无痛接入! 除了基本用法外,还有一些进阶用法可以更好地利用该库。自定义 STUN/TURN 服务器配置WebRTC.Net 默认使用 Google 的
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元“人在职场,应该选择什么样的着装?”近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 机构称Q2全球智能手机出货量同比下滑11% 苹果份额依旧第2

    7月20日消息,据外媒报道,研究机构的报告显示,由于需求下滑,今年二季度全球智能手机的出货量,同比下滑了11%,三星、苹果等主要厂商的销量,较去年同期均有下
  • 苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
Top