const options = ['cooking', 'piano', 'painting', 'design', 'football', 'crafting', 'sleeping']function App () { const [skills, setSkills] = React.useState([]) return ( <div> My skills are: {skills.join(', ')} <br /> <Multiselect options={options} selected={skills} onChange={setSkills} /> </div> )}function Multiselect ({ options, selected, onChange }) { const [searched, setSearched] = React.useState('') const [isOpen, setIsOpen] = React.useState(false) const filteredOptions = React.useMemo(() => { return options.filter(option => option.includes(searched)) }, [options, searched]) const handleSearchedSet = e => { setSearched(e.target.value) } const handleSelect = (option) => { const isSelected = selected.includes(option) let newOptions if (isSelected) { // if selected, remove the clicked option newOptions = selected.filter(o => o !== option)