A tiny wrapper for the fuzzy-search library Fuse.js using React Hooks.
const customers = [
{id: 1, name: 'Customer A', email: '[email protected]'},
{id: 2, name: 'Customer B' email: '[email protected]'}
]
function MyComponent({customers}){
// This is Fuse specific options. Read more at
// https://fusejs.io/#examples
const options = {
keys: ["name", "email"]
}
// Setup the Hook.
const { result, search, term, reset } = useFuse({
data: customers,
options
});
return (
<div>
<input
onChange={e => search(e.target.value)}
value={term}
placeholder="Search for a customer..."
/>
{result.map(customer => (
<div>
{customer.name} - {customer.email}
</div>
))}
</div>
)
}
<MyComponent customers={customers} />