코딩 공부
React - useMemo, useCallback, React.memo 최적화 예제
새혀니
2025. 3. 31. 00:05
import React, { useMemo, useCallback, useState } from 'react';
const ExpensiveList = React.memo(({ data, onClick }) => {
console.log('리렌더링: ExpensiveList');
return data.map((item, i) => <div key={i} onClick={() => onClick(item)}>{item}</div>);
});
export default function OptimizationExample() {
const [count, setCount] = useState(0);
const data = useMemo(() => ['React', 'Next.js', 'JavaScript'], []);
const handleClick = useCallback((item) => {
console.log('클릭한 항목:', item);
}, []);
return (
<div>
<h2>Count: {count}</h2>
<button onClick={() => setCount(count + 1)}>+</button>
<ExpensiveList data={data} onClick={handleClick} />
</div>
);
}