自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

代碼詳解:10個(gè)VSCode實(shí)踐來(lái)加快React開(kāi)發(fā)流程

開(kāi)發(fā) 前端
今天,當(dāng)我們使用React開(kāi)發(fā)應(yīng)用程序時(shí),它涉及到擊鍵和許多其他事情。為了幫助React開(kāi)發(fā)人員找到盡可能多地節(jié)省時(shí)間和精力的方法,小芯整理了這篇加快React開(kāi)發(fā)流程的實(shí)用方法。

如果你是一個(gè)Visual Studio代碼用戶,并且喜歡用React開(kāi)發(fā)項(xiàng)目,那么你可能曾遇到這樣的困境——大量煩人的重復(fù)代碼,如React.useState、React.useContext、React.useReducer(reducer、initialState)等等,著實(shí)令人頭大。

[[314853]]

這些單獨(dú)的鍵分散在鍵盤(pán)上的各個(gè)不同方向,讓可憐的小手指在所有的React項(xiàng)目中一遍又一遍地寫(xiě)下這些字符會(huì)讓人惱火。

如果在鍵盤(pán)上鍵入React.useState,指尖將朝以下方向移動(dòng):

對(duì)于這個(gè)簡(jiǎn)單的問(wèn)題,我可能表現(xiàn)得過(guò)于夸張了,但我在這篇文章中的重點(diǎn)不是按鍵。

今天,當(dāng)我們使用React開(kāi)發(fā)應(yīng)用程序時(shí),它涉及到擊鍵和許多其他事情。

一寸光陰一寸金,我們應(yīng)該盡可能地利用所有的機(jī)會(huì)來(lái)減輕不必要的壓力,因?yàn)榻】岛蜁r(shí)間是寶貴的。

為了幫助React開(kāi)發(fā)人員找到盡可能多地節(jié)省時(shí)間和精力的方法,小芯整理了這篇加快React開(kāi)發(fā)流程的實(shí)用方法。

快來(lái)看看吧~

1. 擴(kuò)展:自定義要做的突出顯示

這是一個(gè)看起來(lái)很有價(jià)值又好玩的擴(kuò)展,但隨著時(shí)間的推移在嚴(yán)肅場(chǎng)合下,它已成為一個(gè)很強(qiáng)大的工具。

首先,在某個(gè)地方寫(xiě)下待辦事項(xiàng)是非常重要的:它可以出現(xiàn)在Evernote應(yīng)用程序、你的作文本、一張撕破的紙上等等。

如果你像我一樣使用TODO Highlight,那么你就把to-dos放在你注釋的代碼的正上方。TODOHighlight擴(kuò)展非常有用,因?yàn)樵赥ODO:前面加上一行時(shí),to dos會(huì)在屏幕上變成彩色編碼,如下所示:

但是,當(dāng)你開(kāi)始創(chuàng)建自定義關(guān)鍵字并為它們添加顏色效果時(shí),TODO Highlight的力量開(kāi)始更加閃耀:

這已經(jīng)成為一個(gè)有價(jià)值的特性,因?yàn)槲夷軌蚩焖俚刂匦芦@得焦點(diǎn),并了解每個(gè)文件中的內(nèi)容,無(wú)論我返回到哪里。

我最喜歡的TODO Highlight關(guān)鍵字是BUG:因?yàn)樗羌t色的。我們通常將紅色與錯(cuò)誤或危險(xiǎn)的東西聯(lián)系起來(lái),所以這很容易引起我對(duì)代碼關(guān)鍵部分的注意:

2. 擴(kuò)展:ES7 React/Redux/GraphQL/React Native snippets

這對(duì)你會(huì)很有幫助的。

我個(gè)人不再用這個(gè)了,因?yàn)槲矣米约旱钠?。但在過(guò)去,它對(duì)我的開(kāi)發(fā)工作流程產(chǎn)生了巨大的積極影響。

3. 快捷方式:在項(xiàng)目中查找文件

當(dāng)你在尋找一個(gè)特定的文件時(shí),必須一直使用文件資源管理器,這很容易讓人沮喪。當(dāng)要分析node_modules目錄中的文件時(shí),這將成為一個(gè)巨大的問(wèn)題,因?yàn)閂SCode會(huì)執(zhí)行以下操作:

紅線表示還有多少內(nèi)容要滾動(dòng),藍(lán)色表示滾動(dòng)條的大小(隨著內(nèi)容的增多而縮小)。這會(huì)影響擴(kuò)展時(shí)的性能。

通過(guò)搜索項(xiàng)目名稱(chēng),你可以輕松找到并打開(kāi)位于項(xiàng)目中任何位置的文件,而無(wú)需移動(dòng)鼠標(biāo)上的一毫米。

只需按Ctrl+T,輸入文件名。完成了。

4. 擴(kuò)展+包:TypeScript+ESLint

大約四年前,當(dāng)Promises正式進(jìn)入ECMAScript 2015規(guī)范時(shí),React生態(tài)系統(tǒng)蓬勃發(fā)展,革命性的技術(shù)改變了今天開(kāi)發(fā)Web應(yīng)用程序的方式。

在這個(gè)時(shí)候,TypeScript就是其中之一,因?yàn)樗谶M(jìn)入React生態(tài)系統(tǒng),并逐漸在社區(qū)中被廣泛采用。有充分的理由!

TypeScript是一個(gè)非常強(qiáng)大的工具,它允許你在潛在的錯(cuò)誤發(fā)生之前節(jié)省大量的時(shí)間和精力

除了通常提供的功能外,它還幫助記錄React組件,防止將來(lái)出現(xiàn)錯(cuò)誤,并教會(huì)你很多關(guān)于JavaScript語(yǔ)言本身的知識(shí),而無(wú)需花一分錢(qián)在電子書(shū)上學(xué)習(xí)該語(yǔ)言中的怪異內(nèi)容。

在react項(xiàng)目中采用帶有ESLint的TypeScript將在我們忽視r(shí)eact工作原理的情況下提供幫助:

5. 擴(kuò)展:Visual Studio市場(chǎng)中任何酷的主題

開(kāi)發(fā)React應(yīng)用程序和一個(gè)酷的VSCode顏色主題是讓我保持娛樂(lè)性的關(guān)鍵資產(chǎn),從而產(chǎn)生更好的代碼質(zhì)量。

使用喜歡的主題非常重要,因?yàn)镽eact組件的顏色代碼有特定的外觀或感覺(jué),這將幫助你更輕松地開(kāi)發(fā)React應(yīng)用程序,如下所示:

非組件:

組件:

6. 擴(kuò)展:更漂亮

如果你用的不是更漂亮的,那么請(qǐng)求你放下一切,使用它。

7. 特點(diǎn):面包屑導(dǎo)航(Breadcrumbs)

天哪,時(shí)間過(guò)得真快。感覺(jué)就像昨天用VScode發(fā)布Breadcrumbs一樣。

這讓我在開(kāi)發(fā)React時(shí)更加輕松,即使是在我最不希望的時(shí)候??紤]到React的組件子/父層次結(jié)構(gòu)的性質(zhì),在React中開(kāi)發(fā)時(shí)(只要根據(jù)層次結(jié)構(gòu)構(gòu)建了目錄結(jié)構(gòu)),這種情況恰好很好,因?yàn)樗旧媳砻鹘M件文件是從父目錄派生的(在大多數(shù)情況下,父目錄總是從index.tsx文件導(dǎo)出的默認(rèn)值):

上面的Breadcrumbs顯示Add是Birthdays的子級(jí),這是管理組件中的一個(gè)路由。

默認(rèn)情況下,Breadcrumbs已啟用。但關(guān)鍵是不要想當(dāng)然地使用Breadcrumbs特性。它會(huì)以意想不到的方式悄無(wú)聲息地變得有幫助,所以把更多的注意力放在它上面吧。

8. 擴(kuò)展:用戶代碼段

隨著React的發(fā)展,我們見(jiàn)證了許多偉大的事情發(fā)生,用戶代碼片段就是其中之一。

這個(gè)方便的VSCode擴(kuò)展允許定義自己的自定義代碼片段,你可以通過(guò)按幾個(gè)字母在整個(gè)項(xiàng)目中重復(fù)使用無(wú)限次。

我在一個(gè)平臺(tái)是依靠React建立起來(lái)的公司工作,讓我吃驚的是,在用React做開(kāi)發(fā)時(shí)有一些人并不知道這一特性。

那它有什么作用呢?

通過(guò)此功能,你可以創(chuàng)建任何自定義代碼片段,只需鍵入幾個(gè)字母(使用自定義前綴聲明)即可在代碼頂部生成這些代碼片段。

例如,當(dāng)我們創(chuàng)建一個(gè)將使用React.use reducer API的新組件時(shí),可能需要聲明一個(gè)初始狀態(tài)、一個(gè)reducer函數(shù),以及像[state,dispatch]=React.useReducer(reducer,initialState)這樣的東西,至少要使它發(fā)生:

  1. const initialState ={ 
  2.   // 
  3. }function reducer(state = initialState, action) { 
  4.   switch (action.type) { 
  5.     default: 
  6.       return state 
  7.   } 
  8. }function MyComponent() { 
  9.   const [state, dispatch] =React.useReducer(reducer, initialState) return <div /> 

將此內(nèi)容放入用戶片段中,從而節(jié)省寶貴的時(shí)間和精力:

  1.    "my React.useReducer snippet": { 
  2.     "prefix": "rsr", 
  3.     "body": [ 
  4.       "const initialState =  {", 
  5.       "  //$1", 
  6.       "}", 
  7.       "", 
  8.       "function reducer(state =  initialState, action) {", 
  9.       "  switch (action.type) {", 
  10.       "    default:", 
  11.       "      return state", 
  12.       "  }", 
  13.       "}", 
  14.       "", 
  15.       "function MyComponent()  {", 
  16.       "  const [state, dispatch] =  React.useReducer(reducer, initialState)", 
  17.       "  ", 
  18.       "  return <div />", 
  19.       "}" 
  20.     ] 
  21.    } 

只要按rsr鍵,這段代碼就會(huì)自動(dòng)生成。

下面是一些我喜歡在整個(gè)React項(xiàng)目中使用的常見(jiàn)片段:

快速測(cè)試CSS元素,通過(guò)給它們臨時(shí)邊框來(lái)查看它們是否正確:

  1.   "border test": { 
  2.     "prefix": "b1", 
  3.     "body": "border: 1pxsolid red;" 
  4.   }, 
  5.   "border test2": { 
  6.     "prefix": "b2", 
  7.     "body": "border: 1pxsolid green;" 
  8.   }, 
  9.   "border test3": { 
  10.     "prefix": "b3", 
  11.     "body": "border: 1pxsolid magenta;" 
  12.   }, 
  13.   "border test4": { 
  14.     "prefix": "b4", 
  15.     "body": "border: 1pxsolid blue;" 
  16.   }, 
  17.   "border test5": { 
  18.     "prefix": "b5", 
  19.     "body": "border: 1px solid#fe7200;" 
  20.   } 

我通常在每個(gè)項(xiàng)目中都有一個(gè)帶有通用基本組件的組件文件夾,例如Button:

  1.   "import Button from'components/Button'": { 
  2.     "prefix": "btt", 
  3.     "body": "import Buttonfrom 'components/Button'" 
  4.   } 

在每次測(cè)試前設(shè)置/清理一些東西:

  1.   "beforeEach(() => {})": { 
  2.     "prefix": "bfe", 
  3.     "body":["beforeEach(() => {", " $1", "})"] 
  4.   } 

一些快速線路禁用:

  1.   "// @ts-ignore": { 
  2.     "prefix": "tsg", 
  3.     "body": "//@ts-ignore" 
  4.   }, 
  5.   "eslint disable line": { 
  6.     "prefix": "eds", 
  7.     "body": "//eslint-disable-line" 
  8.   } 

導(dǎo)入React:

  1.   "import react": { 
  2.     "prefix": "reaa", 
  3.     "body": "import Reactfrom 'react'" 
  4.   } 

這并不是我使用的代碼片段的完整列表,但希望它能幫助你了解利用用戶代碼片段可以節(jié)省多少時(shí)間和精力。

額外的好處:使用ProjectSnippets將其提升到一個(gè)級(jí)別,這是一個(gè)VSCode擴(kuò)展,除了在工作區(qū)級(jí)別提供相同的功能。

9. 快捷方式:查找當(dāng)前文件中的所有匹配項(xiàng)

在文件中突出顯示選擇的關(guān)鍵字并按Ctrl+Shift+L將選擇該關(guān)鍵字的所有出現(xiàn)位置。

當(dāng)要重命名組件時(shí),這很有用,因?yàn)轱@然,當(dāng)組件具有子級(jí)時(shí),我們至少會(huì)出現(xiàn)三次:

  1. import React from'react'function App() { 
  2.   return <h2>Usefulcontent</h2> 
  3. }function Root() { 
  4.   return ( 
  5.     <App> 
  6.       <p>Will I even berendered?</p> 
  7.     </App> 
  8.   ) 

如果要將app重命名為其他名稱(chēng),必須選擇組件聲明以及根呈現(xiàn)塊中的兩個(gè)引用。

10. 快捷方式:向上/向下復(fù)制行

Ctrl+D可以節(jié)省很多時(shí)間。

 

 

責(zé)任編輯:趙寧寧 來(lái)源: 讀芯術(shù)
相關(guān)推薦

2021-02-16 08:45:10

React前端代碼

2019-07-22 10:42:11

React組件前端

2023-03-30 08:00:00

ReactJavaScript前端

2019-07-20 23:30:48

開(kāi)發(fā)技能代碼

2012-03-22 09:15:29

開(kāi)發(fā)代碼

2023-07-21 01:12:30

Reactfalse?變量

2023-05-04 23:59:46

React開(kāi)發(fā)工具

2015-07-15 13:34:37

JS開(kāi)發(fā)習(xí)慣

2021-11-06 07:42:04

驗(yàn)證開(kāi)發(fā)流程

2009-05-11 10:48:24

敏捷開(kāi)發(fā)Agile架構(gòu)

2009-04-09 19:18:44

云存儲(chǔ)存儲(chǔ)虛擬化虛擬化

2025-01-02 15:40:23

2020-05-29 07:00:00

Python機(jī)器學(xué)習(xí)編程語(yǔ)言

2015-10-27 15:45:27

Web開(kāi)發(fā)CSS代碼

2011-06-28 13:38:15

Arm linux QT

2009-06-11 10:59:19

netbeans提示

2020-10-27 06:56:53

IoT產(chǎn)品實(shí)踐

2019-11-05 17:10:19

Java開(kāi)發(fā)編程語(yǔ)言

2021-06-10 09:34:24

前端開(kāi)發(fā)工具開(kāi)發(fā)

2017-03-30 22:16:21

DevOpsIT應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)