import fuse from 'fuse.js' import theme from '../styles/theme' const dummyResults = [ { title: 'good :-)', text: 'a good text.', link: 'good' }, { title: 'bad :-(', text: 'a bad text.', link: 'bad' } ] class Search extends React.Component { state = { active: false, query: '', results: [] } focus = ev => { this.setState({ active: true }) } blur = ev => { this.setState({ active: false }) } change = ev => { const { value } = ev.target this.setState({ query: ev.target.value }) const fuseOptions = { shouldSort: true, includeMatches: true, threshold: 0.3, location: true, keys: ['title', 'text', 'link'] } const fuseInst = new fuse(dummyResults, fuseOptions) const searchResults = fuseInst.search(value) console.log(dummyResults, searchResults) if (value) { this.setState({ results: searchResults }) } else { this.setState({ results: [] }) } } clear = ev => { this.setState({ query: '' }) } render () { return ( <>
Nothing found.
))}{item.text}