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

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

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

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

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

背景

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

图片图片4N428资讯网——每日最新资讯28at.com

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

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

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

图片图片4N428资讯网——每日最新资讯28at.com

问题所在

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

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

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

图片图片4N428资讯网——每日最新资讯28at.com

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

图片图片4N428资讯网——每日最新资讯28at.com

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

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

解决方案

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

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

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

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

图片图片4N428资讯网——每日最新资讯28at.com

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

图片图片4N428资讯网——每日最新资讯28at.com

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

图片图片4N428资讯网——每日最新资讯28at.com

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

图片图片4N428资讯网——每日最新资讯28at.com

use-dsp

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

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

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

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

为啥不从一开始就转?

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • K60 Pro官方停产 第三方瞬间涨价

    虽然没有官方宣布,但Redmi的一些高管也已经透露了,Redmi K60 Pro已经停产且不会补货,这一切都是为了即将到来的K60 Ultra铺路,属于厂家的正常操作。但有意思的是该机在停产之后
  • Automa-通过连接块来自动化你的浏览器

    1、前言通过浏览器插件可实现自动化脚本的录制与编写,具有代表性的工具就是:Selenium IDE、Katalon Recorder,对于简单的业务来说可快速实现自动化的上手工作。Selenium IDEKat
  • 如何通过Python线程池实现异步编程?

    线程池的概念和基本原理线程池是一种并发处理机制,它可以在程序启动时创建一组线程,并将它们置于等待任务的状态。当任务到达时,线程池中的某个线程会被唤醒并执行任务,执行完任
  • JavaScript学习 -AES加密算法

    引言在当今数字化时代,前端应用程序扮演着重要角色,用户的敏感数据经常在前端进行加密和解密操作。然而,这样的操作在网络传输和存储中可能会受到恶意攻击的威胁。为了确保数据
  • 自律,给不了Keep自由!

    来源 | 互联网品牌官作者 | 李大为编排 | 又耳 审核 | 谷晓辉自律能不能给用户自由暂时不好说,但大概率不能给Keep自由。近日,全球最大的在线健身平台Keep正式登陆港交所,努力
  • 新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的“新电商三兄弟”成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • 小米MIX Fold 3下月亮相:今年唯一无短板的全能折叠屏

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都有新的进展,其中荣耀、三星都已陆续发布了最新的折叠屏旗舰,尤其号荣耀Magi
  • 华为将推出盘古数字人大模型 可帮助用户12小时完成数字人生成

    在今日举行的2023年华为云数字文娱AI创新峰会上,华为云全球Marketing与销售服务总裁石冀琳表示,华为云将在后续推出盘古数字人大模型,可帮助用户12小
  • 电博会上海尔智家模拟500平大平层,还原生活空间沉浸式体验

    电博会为了更好地让参展观众真正感受到智能家居的绝妙之处,海尔智家的程传岭先生同样介绍了展会上海尔智家的模拟500平大平层,还原生活空间沉浸式体验。程传
Top