大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎(chǔ)是進(jìn)階的前提是我的初心~iXF28資訊網(wǎng)——每日最新資訊28at.com
本文源碼地址:https://github.com/sanxin-lin/use-dspiXF28資訊網(wǎng)——每日最新資訊28at.com
背景
在平時的開發(fā)中,表格數(shù)據(jù)->(增加/編輯/查看)行->(增加/編輯)提交,這是很常見且簡單的業(yè)務(wù),但是就是這些業(yè)務(wù),我也發(fā)現(xiàn)一些問題iXF28資訊網(wǎng)——每日最新資訊28at.com
圖片iXF28資訊網(wǎng)——每日最新資訊28at.com
首先我們來理性一下這些業(yè)務(wù)的邏輯iXF28資訊網(wǎng)——每日最新資訊28at.com
- 第一步:請求回表格的數(shù)據(jù)
- 第二步:點開(增加/編輯/查看)彈窗,如果是(編輯/查看),則需要將表格行的數(shù)據(jù)傳到彈窗中回顯
- 第三部:如果是(編輯)彈窗,則需要把表單數(shù)據(jù)提交請求接口
我用一個圖來概括大概就是:iXF28資訊網(wǎng)——每日最新資訊28at.com
圖片iXF28資訊網(wǎng)——每日最新資訊28at.com
問題所在
我不知道其他公司怎么樣,但是就拿我自身來舉例子,公司的后端跟前端的命名規(guī)則是不同的iXF28資訊網(wǎng)——每日最新資訊28at.com
- 后端命名: 請求方法+字段類型+字段含義+下劃線命名(比如 in_name、os_user_id)
- 前端命名: 字段含義+駝峰命名(比如 name、userId)
回到剛剛的業(yè)務(wù)邏輯,還是那張圖,假如我們前端不去管命名的話,那么數(shù)據(jù)的傳輸是這樣的,發(fā)現(xiàn)了很多人都懶得去轉(zhuǎn)換后端返回的字段名,直接拿著后端的字段名去當(dāng)做前端的表單字段名,但這是不符合前端規(guī)范的iXF28資訊網(wǎng)——每日最新資訊28at.com
圖片iXF28資訊網(wǎng)——每日最新資訊28at.com
理想應(yīng)該是表單要用前端的命名,比如這樣iXF28資訊網(wǎng)——每日最新資訊28at.com
圖片iXF28資訊網(wǎng)——每日最新資訊28at.com
但是很多前端就是懶得去轉(zhuǎn)換,原因有多個:iXF28資訊網(wǎng)——每日最新資訊28at.com
- 開發(fā)者自身比較懶,或者沒有規(guī)范意識
- 回顯時要轉(zhuǎn)一次,提交時還要再轉(zhuǎn)一次,每次總是得寫一遍
解決方案
所以能不能寫一個工具,解放開發(fā)者的壓力又能達(dá)到期望的效果呢?比如我開發(fā)一個工具,然后像下面這樣在彈窗里用iXF28資訊網(wǎng)——每日最新資訊28at.com
- state: 響應(yīng)式表單數(shù)據(jù),可以用在彈窗表單中
- resetState: 重置表單
- inputState: 將表格行數(shù)據(jù)轉(zhuǎn)成表單數(shù)據(jù)
- outputState: 將表單數(shù)據(jù)轉(zhuǎn)成提交請求的數(shù)據(jù)
配置的含義如下:iXF28資訊網(wǎng)——每日最新資訊28at.com
- default: 表單字段默認(rèn)值
- input: 轉(zhuǎn)入的字段名
- output: 轉(zhuǎn)出的字段名
- inputStrategy: 轉(zhuǎn)入的轉(zhuǎn)換策略,可以選擇內(nèi)置的,也可以自定義策略函數(shù)
- outputStrategy: 轉(zhuǎn)出的轉(zhuǎn)換策略,可以選擇內(nèi)置的,也可以自定義策略函數(shù)
圖片iXF28資訊網(wǎng)——每日最新資訊28at.com
轉(zhuǎn)入和轉(zhuǎn)出策略,內(nèi)置了一些,你也可以自定義,內(nèi)置的有如下iXF28資訊網(wǎng)——每日最新資訊28at.com
圖片iXF28資訊網(wǎng)——每日最新資訊28at.com
下面是自定義策略函數(shù)的例子,必須要在策略函數(shù)中返回一個轉(zhuǎn)換值iXF28資訊網(wǎng)——每日最新資訊28at.com
圖片iXF28資訊網(wǎng)——每日最新資訊28at.com
這樣的話,當(dāng)我們執(zhí)行對應(yīng)的轉(zhuǎn)換函數(shù)之后,會得到我們想要的結(jié)果iXF28資訊網(wǎng)——每日最新資訊28at.com
圖片iXF28資訊網(wǎng)——每日最新資訊28at.com
use-dsp
所以我開發(fā)了一個工具iXF28資訊網(wǎng)——每日最新資訊28at.com
源碼地址:https://github.com/sanxin-lin/use-dspiXF28資訊網(wǎng)——每日最新資訊28at.com
其實 dsp 意思就是iXF28資訊網(wǎng)——每日最新資訊28at.com
npm i use-dspyarn i use-dsppnpm i use-dspimport useDSP from 'use-dsp'
為啥不從一開始就轉(zhuǎn)?
有人會問,為啥不從一開始請求表格數(shù)據(jù)回來的時候,就把數(shù)據(jù)轉(zhuǎn)成前端的命名規(guī)范?iXF28資訊網(wǎng)——每日最新資訊28at.com
其實這個問題我也想過,但是設(shè)想一下,有一些表格如果只是單純做展示作用,那么就沒必要去轉(zhuǎn)字段名了,畢竟不涉及任何的數(shù)據(jù)傳遞。iXF28資訊網(wǎng)——每日最新資訊28at.com
但是需要編輯或者查看彈窗的表格,就涉及到了行數(shù)據(jù)的傳遞,那么就需要轉(zhuǎn)字段名iXF28資訊網(wǎng)——每日最新資訊28at.com
本文鏈接:http://www.tebozhan.com/showinfo-26-85047-0.html和后端吵架后,我寫了個庫,讓整個前端團(tuán)隊更加規(guī)范!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 美團(tuán)社招一面,比預(yù)想的簡單。
下一篇: 工作中有沒有做過性能調(diào)優(yōu)?一問這個便知!