function OptimizedProductList({ products }) { const [search, setSearch] = useState(''); const [sortBy, setSortBy] = useState('name'); const filteredAndSorted = useMemo(() => { console.log('Filtrage et tri...'); return products .filter(p => p.name.toLowerCase().includes(search.toLowerCase())) .sort((a, b) => { if (sortBy === 'name') return a.name.localeCompare(b.name); if (sortBy === 'price') return a.price - b.price; return 0; }); }, [products, search, sortBy]); return (