iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0
Modern Web

看初心者怎麼學React系列 第 22

Day22 瀏覽器上檢查你的React - React developer Tool

  • 分享至 

  • xImage
  •  

天呀,沒庫存今天又晚下班沒什麼時間,只剩8天了,不可以開天窗害我們組挑戰失敗啊!
中途穿插來介紹一個可以提高開發React專案效率的瀏覽器擴充工具 - React developer Tool

在React專案上由多個元件組成,有時候資料傳遞有問題影響畫面,但console並不會跳錯,這樣要從哪裡開始偵錯?

不用在每個元件裡寫滿console了,React developer Tool可以看到 React 的元件結構,甚至可以直接編輯,我們可以直接在chrome上查看元件的props、state等等詳細資訊。

目前Chrome和firefox有支援React developer Tools擴充

chrome:線上應用程式商店下載
https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi

firefox:firefox browser下載
https://addons.mozilla.org/zh-TW/firefox/addon/react-devtools/


運行yarn start啟動我們的專案
瀏覽器上工具的icon顏色代表目前專案啟動運行的環境

  • 灰色:根本沒有用React
    https://ithelp.ithome.com.tw/upload/images/20211007/20140303iNNvcZdVfS.png

  • 紅色:Development 開發模式
    https://ithelp.ithome.com.tw/upload/images/20211007/201403038Znik1cx4n.png

  • 藍色:Production 正式生產模式
    https://ithelp.ithome.com.tw/upload/images/20211007/20140303tCgFKu9iUG.png

  • 黑白:React版低於15
    https://ithelp.ithome.com.tw/upload/images/20211007/20140303L4jR53KhFT.png

小圖示出現顏色後,瀏覽器的開發者工具上會多出Components和Profiler兩個選項
https://ithelp.ithome.com.tw/upload/images/20211007/20140303WgOjrpFNDN.png

Components

很清楚地把元件的層級關係用階層呈現在畫面上,
點擊元件後,會清楚列出元件的特性和資料。
https://ithelp.ithome.com.tw/upload/images/20211007/20140303Tm7D7FdmZn.png

可以直接更改資料的值,不用改code就能看資料變更後的畫面效果。
https://ithelp.ithome.com.tw/upload/images/20211007/20140303uaVXfhV0Dv.png


Profiler

利用react 官方中有Profiler API ,告訴我們每個元件渲染的時間的耗能,當專案運行有不順暢的地方,可以靠觀察渲染時間找出效能的問題所在。

按藍色錄製開始觀察計算渲染時間
https://ithelp.ithome.com.tw/upload/images/20211007/20140303XqpUZ1QO89.png

圓點為紅色時為錄製關持中,會不停的紀錄使用瀏覽的過程中元件的渲染時間。
(這期間我點了好幾下切換顏色的按鈕)
https://ithelp.ithome.com.tw/upload/images/20211007/201403039m5U06pwo0.png

按紅點停止錄製觀察元件的渲染,剛剛錄製的元件渲染時間便會一一列出。
https://ithelp.ithome.com.tw/upload/images/20211007/20140303Gh6S3e3GOG.png

簡單介紹到這邊,快安裝來幫助自己能更快速的偵測React開發中的錯誤吧!


上一篇
Day21 React Styled-Components 元件自己的CSS
下一篇
Day23 React 共享的State(一) Context
系列文
看初心者怎麼學React30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Global Rachel
iT邦新手 3 級 ‧ 2021-10-08 17:50:57

辛苦了,剩下一點!!!一起加油!!!
/images/emoticon/emoticon51.gif

我要留言

立即登入留言