React 性能优化完全指南

React 性能优化完全指南 React 作为目前最流行的前端框架之一,性能优化是每位开发者必须掌握的技能。本文将从多个维度深入探讨 React 应用的性能优化策略。 1. 使用 React.memo 避免不必要的重渲染 React.memo 是一个高阶组件,它可以帮助我们避免组件在 props 没有变化时进行不必要的重渲染。 import React, { memo } from 'react'; const ExpensiveComponent = memo(({ data, onUpdate }) => { console.log('ExpensiveComponent rendered'); return ( <div className="expensive-component"> {data.map(item => ( <div key={item.id}>{item.name}</div> ))} </div> ); }); 注意事项: 只有当组件的渲染开销较大时才使用 React.memo 配合 useMemo 和 useCallback 使用效果更佳 2. useMemo 和 useCallback 的正确使用 useMemo 缓存计算结果 import { useMemo } from 'react'; function DataProcessor({ items, filter }) { const filteredItems = useMemo(() => { console.log('Filtering items...'); return items.filter(item => item.category === filter); }, [items, filter]); return ( <ul> {filteredItems.map(item => ( <li key={item.id}>{item.name}</li> ))} </ul> ); } useCallback 缓存函数引用 import { useCallback } from 'react'; function ParentComponent() { const [count, setCount] = useState(0); const handleClick = useCallback(() => { setCount(c => c + 1); }, []); return <ChildComponent onClick={handleClick} />; } 3. 虚拟列表优化长列表 当需要渲染大量数据时,使用虚拟列表可以显著提升性能。 ...

January 15, 2024 · 技术博主