React 性能優化:性能永遠是第一需求

這是我參與 8 月更文挑戰的第 10 天,活動詳情查看:8月更文挑戰算法

前言

在項目開發中,性能永遠是第一需求,必須時刻考慮性能問題。性能優化

如何避免應用出現性能問題,能夠考慮這幾個方面:markdown

  • 瞭解常見的性能問題場景
  • 時刻注意代碼的潛在性能問題
  • 注重可重構的代碼
  • 瞭解如何使用工具定位性能問題

常見的性能問題場景

瞭解常見的性能問題場景,在出現性能問題時,能根據經驗按優先級先解決影響最大。網絡

在 Web 應用中,最常出現的有兩種狀況:鍵盤輸入的卡頓鼠標事件的卡頓函數

好比在一個列表頁面,搜索框的每一次輸入都會引起列表內容的刷新,若是每次刷新都須要消耗較大的性能,那就是有問題的。工具

table.png

再好比一個視圖區域 resize 的功能,每一次鼠標的移動都會致使頁面組件的更新,這時就能夠經過防抖函數(debounce)來優化性能。post

resize.gif

代碼的潛在性能問題

在開發的時候時常思考:何時能夠拆分組件?何時出現了優化的空間?...性能

特別是在 React 中,當頁面狀態發生變化時組件是否能夠高效更新,當組件的粒度越細,React 可優化的空間也越大,diff 算法能夠最大程度的保留不變的組件,從而提高性能。優化

可重構的代碼

什麼樣的代碼是可重構的?這就要求代碼的耦合性很是低,是一個獨立的功能模塊,即不依賴外部的變量、不被不少外部模塊所依賴。這樣的模塊在快速實現後,即便存在必定的性能問題,也能夠在以後的優化中重構,即保留了可優化的空間。spa

使用工具定位性能問題

當問題發生時,咱們能夠經過工具定位問題的位置,好比 React 提供的 Dev Tool 和 Chorme 提供的 Dev Tool

結語

綜上,是對性能問題的一些概述,具體場景的實踐,會有後續的文章跟進。

React 性能優化

相關文章
相關標籤/搜索