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

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

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

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

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

背景

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

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

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

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

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

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

问题所在

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

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

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

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

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

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

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

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

解决方案

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

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

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

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

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

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

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

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

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

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

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

use-dsp

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

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

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

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

为啥不从一开始就转?

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 石头智能洗地机A10 Plus体验:双向自清洁治好了我的懒癌

    一、前言和介绍专为家庭请假懒人而生的石头科技在近日又带来了自己的全新旗舰新品,石头智能洗地机A10 Plus。从这个产品名上就不难看出,这次石头推出的并不是常见的扫地机器
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • 一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    8月5日消息,此前就有爆料称,一加首款折叠屏手机将会在第三季度上市,如今随着时间临近,新机的各种消息也开始浮出水面。据悉,这款新机将会被命名为“On
  • 十个可以手动编写的 JavaScript 数组 API

    JavaScript 中有很多API,使用得当,会很方便,省力不少。 你知道它的原理吗? 今天这篇文章,我们将对它们进行一次小总结。现在开始吧。1.forEach()forEach()用于遍历数组接收一参
  • 三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • 只需五步,使用start.spring.io快速入门Spring编程

    步骤1打开https://start.spring.io/,按照屏幕截图中的内容创建项目,添加 Spring Web 依赖项,并单击“生成”按钮下载 .zip 文件,为下一步做准备。请在进入步骤2之前进行解压。图
  • 腾讯VS网易,最卷游戏暑期档,谁能笑到最后?

    作者:无锈钵来源:财经无忌7月16日晚,上海1862时尚艺术中心。伴随着幻象的精准命中,硕大的荧幕之上,比分被定格在了14:12,被寄予厚望的EDG战队以绝对的优势战胜了BLG战队,拿下了总决
  • 阿里大调整

    来源:产品刘有媒体报道称,近期淘宝天猫集团启动了近年来最大的人力制度改革,涉及员工绩效、层级体系等多个核心事项,目前已形成一个初步的“征求意见版”:1、取消P序列
  • iQOO Neo8 Pro真机谍照曝光:天玑9200+和V1+旗舰双芯加持

    去年10月,iQOO推出了iQOO Neo7系列机型,不仅搭载了天玑9000+,而且是同价位唯一一款天玑9000+直屏旗舰,一经上市便受到了用户的广泛关注。在时隔半年后,
Top