避免箭頭函數並在JSX Props 中綁定以獲得最佳性能
React 的lint 工具旨在透過突出顯示潛在問題來增強程式碼實踐。常見的錯誤訊息是「JSX props 不應使用箭頭函數」。這指出了在 JSX 屬性中使用箭頭函數或綁定的有害影響。
為什麼箭頭函數和綁定會阻礙效能
將箭頭函數或綁定合併到JSX 屬性中具有效能影響:
內嵌處理程序對重新渲染的影響
考慮這些範例:
範例1:不含內聯的PureComponent Handler
class Button extends React.PureComponent { render() { const { onClick } = this.props; console.log('render button'); return ; } }
在此程式碼中,Button 元件僅在其 props 變更時重新渲染,正如 PureComponent 所預期的那樣。
範例 2:內嵌處理程序的 PureComponent
const Button = (props) => { console.log('render button'); return ; };
由於內聯箭頭功能,即使元件狀態保持不變,Button 現在每次都會重新渲染。這種不必要的重新渲染可能會嚴重影響效能。
最佳實踐
為避免這些效能問題,建議遵循以下最佳實務:
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3