日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
21個(gè)讓React開(kāi)發(fā)更高效更有趣的工具

 下列工具中的重要性與排序無(wú)關(guān)。

創(chuàng)新互聯(lián)建站總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號(hào)搭建、微信小程序開(kāi)發(fā)、軟件開(kāi)發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動(dòng)行銷(xiāo)領(lǐng)域創(chuàng)造價(jià)值而不懈努力!

1.Webpack Bundle Analyzer

有沒(méi)有想過(guò)你的應(yīng)用程序的哪些包或哪部分代碼所占總大小的多少? Webpack Bundle Analyzer可以幫助咱們分析。

Webpack Bundle Analyzer創(chuàng)建一個(gè)實(shí)時(shí)服務(wù)器,并提供依賴(lài)包交互式樹(shù)形圖可視化。 通過(guò)這個(gè)工具包,可以看到所渲染文件的位置,gzip大小,解析大小以及所父子級(jí)之間詳情。

這個(gè)工具的好處是,可以根據(jù)你所看到來(lái)優(yōu)化你的React應(yīng)用。

收下是它生成的一個(gè)分析圖:

可以清楚地看到pdf包大小占用應(yīng)用程序是最多的,同時(shí)也是占用分析圖片最大比例,這對(duì)于咱們來(lái)說(shuō)是所看即所得效果。

然而,生成分析圖空間有限,你還可以傳遞一些有用的選項(xiàng)來(lái)更詳細(xì)地查看它,比如generateStatsFile: true,還可以選擇生成一個(gè)靜態(tài)HTML文件,可以將其保存在開(kāi)發(fā)環(huán)境之外的某個(gè)地方,以供以后使用。

2. React-Proto

React-Proto 是一個(gè)面向開(kāi)發(fā)人員和設(shè)計(jì)人員的原型工具。這是一個(gè)桌面軟件,所以在使用之前你必須下載并安裝這個(gè)軟件。

以下是使用方式一個(gè)簡(jiǎn)單演示:

該應(yīng)用程序允許你聲明props及其types,在樹(shù)中查看組件,導(dǎo)入背景圖像,將它們定義為有狀態(tài)或無(wú)狀態(tài),定義其父組件將是什么,放大/縮小,以及將原型導(dǎo)出到新的或現(xiàn)有項(xiàng)目。

該應(yīng)用程序似乎更適合Mac用戶(hù),但它仍適用于Windows用戶(hù)。

完成用戶(hù)界面后,可以選擇導(dǎo)出到現(xiàn)有項(xiàng)目或新項(xiàng)目。 如果你選擇導(dǎo)出到現(xiàn)有項(xiàng)目并選擇根目錄,它會(huì)將它們導(dǎo)出到./src/components,如下所示:

隨著React hook的發(fā)布,這個(gè)應(yīng)用程序需要更新做更多的工作。當(dāng)然,開(kāi)源是這個(gè)應(yīng)用程序的好處,因?yàn)樗顾锌赡艹蔀槲磥?lái)流行的開(kāi)源存儲(chǔ)庫(kù)列表。

3. Why Did You Render

Why Did You Render 猴子補(bǔ)丁React通知你有關(guān)可避免的重新渲染的信息。

猴子補(bǔ)丁: 這個(gè)叫法起源于Zope框架,大家在修正Zope的Bug的時(shí)候經(jīng)常在程序后面追加更新部分,這些被稱(chēng)作是“雜牌軍補(bǔ)丁(guerilla patch)”,后來(lái)guerilla就漸漸的寫(xiě)成了gorllia((猩猩),再后來(lái)就寫(xiě)了monkey(猴子),所以猴子補(bǔ)丁的叫法是這么莫名其妙的得來(lái)的。

猴子補(bǔ)丁主要有以下幾個(gè)用處:

  • 在運(yùn)行時(shí)替換方法、屬性等
  • 在不修改第三方代碼的情況下增加原來(lái)不支持的功能
  • 在運(yùn)行時(shí)為內(nèi)存中的對(duì)象增加patch而不是在磁盤(pán)的源代碼中增加

這非常有用,不僅可以指導(dǎo)咱們修復(fù)項(xiàng)目的性能,還可以幫助你理解React是如何工作的。而且,當(dāng)你更好地理解React的工作原理時(shí),你就會(huì)成為更好的React開(kāi)發(fā)人員。

通過(guò)聲明一個(gè)額外的靜態(tài)屬性whyDidYouRender并將其值設(shè)置為true,可以將偵聽(tīng)器附加到任何自定義組件

 
 
 
  1. import React from 'react' 
  2. import Button from '@material-ui/core/Button' 
  3. const Child = (props) =>  
  4. const Child2 = ({ children, ...props }) => ( 
  5.   
  6.  {children}  
  7.  
 
  • Child2.whyDidYouRender = true 
  • const App = () => { 
  •  const [state, setState] = React.useState({}) 
  •  return ( 
  •  
     
  •  {JSON.stringify(state, null, 2)} 
  •  
     
  •   setState({ hello: 'hi' })}> 
  •  Submit 
  •   
  •  
  •  
  •  Child #2 
  •  
  •  
  •  ) 
  • export default App 
  • 這樣做之后,在控制臺(tái)才會(huì)打印令人惱人冗長(zhǎng)警告:

    不要認(rèn)為這是錯(cuò)誤的提示,把它當(dāng)成一件好事。 利用那些煩人的消息,這樣你就可以修復(fù)那些浪費(fèi)的重新渲染。

    4. Create React App

    大家都知道,Create React App是創(chuàng)建 React項(xiàng)目的最快方式(開(kāi)箱即用)。

    還有什么比 npx create-react-app 更簡(jiǎn)單的呢

    咱們還有些人可能不知道的是如何使用CRA創(chuàng)建TypeScript項(xiàng)目,這個(gè)也很簡(jiǎn)單,只需要在末尾添加--typescript 即可:

     
     
     
    1. npx create-react-app  — typescript 

    這樣可以省去手動(dòng)將TypeScript添加到CRA創(chuàng)建項(xiàng)目中的麻煩。

    5. React Lifecycle Visualizer

    React Lifecycle Visualizer是一個(gè)npm包,用于跟蹤和可視化任意React組件的生命周期方法。

    與 Why Did You Render 工具類(lèi)似,你可以選擇任何組件來(lái)啟動(dòng)生命周期可視化工具:

     
     
     
    1. import React from 'react' 
    2. import { 
    3.  Log, 
    4.  VisualizerProvider, 
    5.  traceLifecycle, 
    6. } from 'react-lifecycle-visualizer' 
    7. class TracedComponent extends React.Component { 
    8.  state = { 
    9.  loaded: false, 
    10.  } 
    11.  componentDidMount() { 
    12.  this.props.onMount() 
    13.  } 
    14.  render() { 
    15.  return 

      Traced Component

       
    16.  } 
    17. const EnhancedTracedComponent = traceLifecycle(TracedComponent) 
    18. const App = () => ( 
    19.   
    20.   
    21.   
    22.   

    運(yùn)行結(jié)果,如下所示:

    但是,其中一個(gè)缺點(diǎn)是它目前僅適用于類(lèi)組件,因此尚不支持 Hook

    6. Guppy

    Guppy 是React的一個(gè)友好且免費(fèi)的應(yīng)用程序管理器和任務(wù)運(yùn)行器,它在桌面上運(yùn)行且跨平臺(tái)的,你可以放心用。

    它為開(kāi)發(fā)人員經(jīng)常面臨的許多典型任務(wù)(如創(chuàng)建新項(xiàng)目、執(zhí)行任務(wù)和管理依賴(lài)項(xiàng))提供了友好的圖形用戶(hù)界面。

    Guppy 啟動(dòng)后的的樣子

    7. react-testing-library

    react-testing-library 是一個(gè)很棒的測(cè)試庫(kù),編寫(xiě)單元測(cè)試時(shí),它會(huì)讓你感覺(jué)很好。這個(gè)包提供了React DOM測(cè)試實(shí)用程序,鼓勵(lì)良好的測(cè)試實(shí)踐。

    此解決方案旨在解決測(cè)試實(shí)現(xiàn)細(xì)節(jié)的問(wèn)題,而不是測(cè)試React組件的輸入/輸出,就像用戶(hù)會(huì)看到它們一樣。

    這是react-test -library解決的一個(gè)問(wèn)題,因?yàn)槔硐肭闆r下,你只希望您的用戶(hù)界面能夠正常工作,并最終正確地渲染出來(lái)。

    如何將數(shù)據(jù)獲取到這些組件并不重要,只要它們?nèi)匀惶峁╊A(yù)期的輸出即可。

    以下是使用此庫(kù)進(jìn)行測(cè)試的示例代碼:

     
     
     
    1. // Hoist helper functions (but not vars) to reuse between test cases 
    2.  
    3. const renderComponent = ({ count }) => 
    4.  
    5. render( 
    6.  
    7.  
    8.  
    9.  
    10.  
    11.  
    12.  
    13. it('renders initial count', async () => { 
    14.  
    15. // Render new instance in every test to prevent leaking state 
    16.  
    17. const { getByText } = renderComponent({ count: 5 }) 
    18.  
    19. await waitForElement(() => getByText(/clicked 5 times/i)) 
    20.  
    21. }) 
    22.  
    23. it('increments 
    24.  
    25. count', async () => { 
    26.  
    27. // Render new instance in every test to prevent leaking state 
    28.  
    29. const { getByText } = renderComponent({ count: 5 }) 
    30.  
    31. fireEvent.click(getByText('+1')) 
    32.  
    33. await waitForElement(() => getByText(/clicked 6 times/i)) 
    34.  
    35. }) 

    8. React Developer Tools

    React Developer Tools是一個(gè)擴(kuò)展插件,允許在Chrome和Firefox Developer Tools中檢查React的組件層次結(jié)構(gòu)。

    這是React開(kāi)發(fā)中最常見(jiàn)的擴(kuò)展插件,并且是React開(kāi)發(fā)人員可以用來(lái)調(diào)試其應(yīng)用程序的最有用的工具之一。

    9. Bit

    通過(guò)Bit可以看到數(shù)以千計(jì)的開(kāi)源組件,并允許還可以使用它們來(lái)構(gòu)建項(xiàng)目。

    列表中有很多很多React組件可供咱們使用,包括選項(xiàng)卡,按鈕,圖表,表格,導(dǎo)航欄,下拉列表,加載微調(diào)器,日期選擇器,面包屑,圖標(biāo),布局等。

    10. Storybook

    Storybook 是一個(gè)輕松地構(gòu)建UI組件的庫(kù)。該工具啟動(dòng)一個(gè)實(shí)時(shí)開(kāi)發(fā)服務(wù)器,支持開(kāi)箱即用的熱重載,你可以在其中獨(dú)立地實(shí)時(shí)開(kāi)發(fā)React組件。

    這足以作為普通文檔頁(yè)面:

    11. React Sight

    你有沒(méi)有想過(guò)你的應(yīng)用程序在流程圖中的樣子? React Sight允許你通過(guò)展示整個(gè)應(yīng)用程序的實(shí)時(shí)組件層次結(jié)構(gòu)樹(shù)來(lái)可視化React應(yīng)用程序。

    它還支持react-router,Redux以及React Fiber。

    使用此工具,您可以將鼠標(biāo)懸停在節(jié)點(diǎn)上,這些節(jié)點(diǎn)是指向與樹(shù)中組件直接相關(guān)的組件的鏈接。

    如果在查看結(jié)果時(shí)遇到問(wèn)題,可以在地址欄中輸入chrome:extensions ,查找“React Sight”框,然后單擊“Allow access to file URLs”開(kāi)關(guān),如下所示:

    12. React Cosmos

    React Cosmos是一個(gè)用于創(chuàng)建可重用React組件的開(kāi)發(fā)工具。

    它掃描項(xiàng)目中的組件,并使你能夠:

    • 通過(guò) props,context和state任意組合來(lái)渲染組件。
    • 模擬每個(gè)外部依賴(lài)項(xiàng)(API響應(yīng)、localStorage等)。
    • 查看應(yīng)用程序狀態(tài)在與運(yùn)行實(shí)例交互時(shí)的實(shí)時(shí)演變。

    13. CodeSandbox

    CodeSandbox一個(gè)在線編輯器,可以在上面創(chuàng)建Web應(yīng)用程序并實(shí)行運(yùn)行。

    CodeSandbox 最初只在早期階段支持React,但它們現(xiàn)在已經(jīng)擴(kuò)展到VueAngular等庫(kù)的其他入門(mén)模板。

    他們還支持使用常見(jiàn)的靜態(tài)站點(diǎn)生成器(如Gatsby或Next.js)創(chuàng)建項(xiàng)目來(lái)啟動(dòng)React Web項(xiàng)目。

    14. React Bits

    React Bits是一個(gè)React模式、技術(shù)、技巧和技巧的集合,所有這些都以類(lèi)似于在線文檔的格式編寫(xiě),你可以在同一個(gè)選項(xiàng)卡上快速訪問(wèn)不同的設(shè)計(jì)模式和技術(shù)、反模式、樣式、UX變體以及其他與React相關(guān)的有用材料。

    GitHub repo,目前有10083顆星星。

    15. folderize

    folderize是一個(gè)VS Code 擴(kuò)展。 它允許您將組件文件轉(zhuǎn)換為組件文件夾結(jié)構(gòu)。 React 組件仍然是一個(gè)組件,只是轉(zhuǎn)換為一個(gè)目錄。

    例如,假設(shè)正在創(chuàng)建一個(gè)React組件,該組件將文件作為props來(lái)顯示有用的信息,如元數(shù)據(jù)

    元數(shù)據(jù)組件的邏輯占用了大量的行,因此咱們決定將其拆分為單獨(dú)的文件。 但是,當(dāng)這樣做時(shí),咱們就有兩個(gè)相互關(guān)聯(lián)的文件。

    所以,就有有一個(gè)大概如下所示的目錄:

    咱們可能想要將FileView.js和filemetada.js抽象到目錄結(jié)構(gòu)中,就像Apple一樣,尤其是考慮添加更多與FileScanner.js等文件相關(guān)的組件時(shí)。

    這就是folderize為咱們所做的,這樣組件們就可以得到一個(gè)類(lèi)似的結(jié)構(gòu)

    16. React Starter Projects

    React starter projects 是一個(gè)依賴(lài)庫(kù)列表,可以在上面快速你需要要的依賴(lài)庫(kù)的名稱(chēng)并可以跳轉(zhuǎn)對(duì)應(yīng)的 github 上。

    一旦看到一個(gè)你喜歡的入門(mén)項(xiàng)目,你就可以簡(jiǎn)單地克隆這個(gè)庫(kù),并根據(jù)你的需要進(jìn)行修改。

    但是,并不是所有的依賴(lài)庫(kù)都是通過(guò)克隆使用,因?yàn)槠渲幸恍?kù)需要通過(guò)安裝形式,才能成為項(xiàng)目的依賴(lài)項(xiàng)。

    17. Highlight Updates

    這可能是開(kāi)發(fā)工具包中最重要的工具。 Highlight Updates是React DevTools擴(kuò)展的一個(gè)特性,可以查看頁(yè)面中的哪些組件正在不必要地重新渲染。

    它可以幫助你在開(kāi)發(fā)頁(yè)面時(shí)是更容易發(fā)現(xiàn)一些性能問(wèn)題,因?yàn)樗鼈儠?huì)使用橙色或紅色對(duì)嚴(yán)重的重新渲染問(wèn)題進(jìn)行著色。

    18. React Diff Viewer

    React Diff Viewer是一個(gè)簡(jiǎn)單而美觀的文本差異對(duì)比工具 這支持分割視圖,內(nèi)嵌視圖,字符差異,線條突出顯示等功能。

    19. JS.coach

    JS.coach 是我最常用來(lái)與 React 有需要的庫(kù)的網(wǎng)站。從這個(gè)頁(yè)面可以找到需要的任何東西。

    它快速、簡(jiǎn)單、不斷更新,并且總是能給我所有項(xiàng)目所需的結(jié)果。最近還添加了React VR,非常棒。

    20. Awesome React

    Awesome React開(kāi)源庫(kù)是一個(gè)與React相關(guān)的很棒的列表。

    我可能會(huì)忘記其他網(wǎng)站并單獨(dú)從這個(gè)鏈接學(xué)習(xí)React。 因?yàn)榭梢栽诖苏业脚坑杏玫馁Y源,這些資源肯定會(huì)幫助我們構(gòu)建出色的React應(yīng)用程序!

    21. Proton Native

    Proton Native為咱們提供了一個(gè)React環(huán)境來(lái)構(gòu)建跨平臺(tái)的本機(jī)桌面應(yīng)用程序。

    它是Electron的替代產(chǎn)品,具有一些簡(jiǎn)潔的功能,包括:

    • 與React Native語(yǔ)法相同。
    • 適用于現(xiàn)有的React庫(kù),例如 Redux。
    • 兼容所有正常的 Node.js 包。

    代碼部署后可能存在的BUG沒(méi)法實(shí)時(shí)知道,事后為了解決這些BUG,花了大量的時(shí)間進(jìn)行l(wèi)og 調(diào)試,這邊順便給大家推薦一個(gè)好用的BUG監(jiān)控工具 Fundebug。


    本文標(biāo)題:21個(gè)讓React開(kāi)發(fā)更高效更有趣的工具
    當(dāng)前地址:http://www.5511xx.com/article/coedheh.html