日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

深度探討 useEffect 使用規范

來源: 責編: 時間:2023-12-22 09:36:09 241觀看
導讀我們在乘坐地鐵或者公交車的時候,在地鐵門或者公交車門的旁邊往往會有「禁止依靠」這樣的標識。目的是為了警告乘客不要依靠車門,否則開門的時候容易出現不可預測的危險。但是如果我們仔細去分析這個危險的話,就會知道,他

VBn28資訊網——每日最新資訊28at.com

我們在乘坐地鐵或者公交車的時候,在地鐵門或者公交車門的旁邊往往會有「禁止依靠」這樣的標識。目的是為了警告乘客不要依靠車門,否則開門的時候容易出現不可預測的危險。VBn28資訊網——每日最新資訊28at.com

但是如果我們仔細去分析這個危險的話,就會知道,他的真實情況是,在車輛運行過程中,車門緊閉,你依靠在車門上也并不會出現危險,我們在上班高峰期擠地鐵的時候,大量的人也不得不緊靠車門,甚至有的人被擠扁壓在車門上。VBn28資訊網——每日最新資訊28at.com

在制定團隊項目規范時也會這樣,例如,我在帶領團隊時,一定會制定一條規范,要求每次代碼提交之前,個人必須檢查你的代碼里是否存在意外的修改,可能有的人在提交之前手抖往代碼里輸入了一個空格或者逗號,從而導致重大事故。這是一個低概率發生的事情,但是我仍然會要求每次提交都要檢查。VBn28資訊網——每日最新資訊28at.com

那么,是不是也就意味著,如果不遵守我這個規范,就一定會發現不可預測的重大事故呢?其實并非如此,我們制定規范的目的是為了讓程序變得可控,比如團隊里面有10個人的習慣都比較好,從來不會出現意外內容提交的情況,但是只要有一個人出現兩次因為手抖把意外的修改提交到了代碼倉庫,那么這條規范就會出現。VBn28資訊網——每日最新資訊28at.com

既然這條規范的出現是為了避免意外的發生,于是有一個項目成員就對我的規范提出了質疑,他認為可以在配置上增加 pre-commit 的代碼規則檢測,如果有意外的發生,那么代碼規則檢測不會通過,我們就不用每次在提交之前花費心力去檢查每一條 diff 里的修改了。VBn28資訊網——每日最新資訊28at.com

雖然我最終沒有同意他的提議,但這是一個非常好的思路VBn28資訊網——每日最新資訊28at.com

所以作為一個優秀的開發者,我們到底是應該只要遵循規范就是完事了,還是應該去看懂規范出現的背后邏輯,從而靈活的運用他,或者探尋更好的解決方案呢?VBn28資訊網——每日最新資訊28at.com

我的答案是后者。VBn28資訊網——每日最新資訊28at.com

如果在這個觀念的基礎之上我們能達成共識,我們再來一起結合 React 官方文檔,對 useEffect 的使用規范進行深入探討。VBn28資訊網——每日最新資訊28at.com

在這之前,我們要首先明確一下 useEffect 的語法規則,useEffect 的依賴項必須是 state 與 props,否則依賴項發生了變化,effect 也不會執行。所以有的人說:我不愿意把 state 放到依賴項里,甚至反感這樣的行為,我認為是沒有任何理論依據的。VBn28資訊網——每日最新資訊28at.com

一、計算屬性

在 vue 和 mobx 里都有計算屬性這樣的概念。因此有的人就想,在 react hook 中,是否可以借助 useEffect 來達到計算屬性的目的。VBn28資訊網——每日最新資訊28at.com

官方文檔明確的建議是,不需要這樣做VBn28資訊網——每日最新資訊28at.com

// 案例來自官方文檔// https://zh-hans.react.dev/learn/you-might-not-need-an-effectfunction Form() {  const [firstName, setFirstName] = useState('Taylor');  const [lastName, setLastName] = useState('Swift');  //  
                

本文鏈接:http://www.www897cc.com/showinfo-26-51826-0.html深度探討 useEffect 使用規范

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 14張圖巧妙的理解數據結構

下一篇: Python 中的 Time 和 Datetime 模塊

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 星子县| 连南| 长葛市| 姜堰市| 革吉县| 九龙县| 轮台县| 建昌县| 襄樊市| 鹿泉市| 吉林市| 灌南县| 海丰县| 新绛县| 神池县| 买车| 兰考县| 都安| 龙游县| 滦南县| 无锡市| 余江县| 封丘县| 绥阳县| 武安市| 富顺县| 定远县| 兴安县| 琼结县| 福清市| 安阳市| 隆安县| 汕尾市| 扶绥县| 原平市| 台东市| 南宫市| 北安市| 东至县| 牟定县| 格尔木市|