import React、{ useState、useDeferredValue、useMemo } from 'react';
function SearchComponent({ items }) {
const [query、setQuery] = useState('');
const deferredQuery = useDeferredValue(query);
const filteredItems = useMemo(
() => items.filter(item => item.includes(deferredQuery)),
[items、deferredQuery]
);
return (
<div>
<input
type="text"
value={query}
onChange={e => setQuery(e.target.value)}
placeholder="検索..."
/>
<ul>
{filteredItems.map(item => (
<li key={item}>{item}</li>
))}
</ul>
</div>
);
}