Analyze and optimize a React component for better performance
Analyzes and optimizes React components for better performance by identifying re-render issues and applying memoization techniques.
npx claudepluginhub josiahsiegel/claude-plugin-marketplaceComponentName or path/to/Component.tsxAnalyze and optimize a React component for better performance.
$ARGUMENTS - Component name or file path to optimizeAnalyze and optimize the specified React component:
Performance Analysis
$ARGUMENTSCommon Issues to Check
Optimization Techniques
Report Format
// Before - new object every render
<Child style={{ color: 'red' }} />
// After - stable reference
const style = useMemo(() => ({ color: 'red' }), []);
<Child style={style} />
// Before - new function every render
<List onItemClick={(id) => handleClick(id)} />
// After - stable callback
const handleItemClick = useCallback((id: string) => {
handleClick(id);
}, [handleClick]);
<List onItemClick={handleItemClick} />
// Before - computed every render
const sortedItems = items.sort((a, b) => a.name.localeCompare(b.name));
// After - memoized
const sortedItems = useMemo(
() => [...items].sort((a, b) => a.name.localeCompare(b.name)),
[items]
);
// Before
function ExpensiveList({ items }: Props) { ... }
// After
const ExpensiveList = memo(function ExpensiveList({ items }: Props) { ... });
// Before - imported directly
import HeavyEditor from './HeavyEditor';
// After - lazy loaded
const HeavyEditor = lazy(() => import('./HeavyEditor'));
function App() {
return (
<Suspense fallback={<Loading />}>
<HeavyEditor />
</Suspense>
);
}
// Before - renders all items
{items.map(item => <Item key={item.id} {...item} />)}
// After - virtualized
import { FixedSizeList } from 'react-window';
<FixedSizeList height={400} itemCount={items.length} itemSize={50}>
{({ index, style }) => (
<Item style={style} {...items[index]} />
)}
</FixedSizeList>
// Before - blocks UI
setSearchResults(results);
// After - non-blocking
startTransition(() => {
setSearchResults(results);
});
After analysis, provide:
Issues Found
Optimized Code
Changes Made
Additional Recommendations