Как вернуть фильтр множественного поиска в react.js?

#reactjs #search #filter #react-hooks #searchbar

Вопрос:

Ниже приведен код браузера поиска, в котором пользователи могут искать футболиста по имени и по другим атрибутам. Я использовал крючки react для фильтра поиска. Но я не могу найти способ добавить более одного поискового фильтра (я хочу выполнить поиск по имени, национальности и названию клуба игрока). Я не могу вернуть несколько фильтров поиска, используя следующий код:

 import React, {useState} from 'react'; import "./SearchBar.css"; import { RiSearch2Line } from 'react-icons/ri'; import { RiCloseLine } from 'react-icons/ri';  function SearchBar({placeholder, data}) {   const [filteredPlayerData, setFilteredData] = useState([]);  const [wordEntered, setWordEntered] = useState("");   const handleFilter = (event) =gt; {  const searchWord = event.target.value;  setWordEntered(searchWord);   const nameFilter = data.filter((value) =gt; {  const Name = value.name.toLowerCase();  return Name.includes(searchWord.toLowerCase());  });   if (searchWord === "") {  setFilteredData([]);   } else{  setFilteredData(nameFilter);  }  };   const clearInput = () =gt; {  setFilteredData([]);  setWordEntered("");  };    return (  lt;div className="search"gt;  lt;div className="searchinput"gt;  lt;input type="text" placeholder={placeholder} value={wordEntered} onChange={handleFilter}/gt;  lt;div className="searchIcon"gt; {filteredPlayerData.length === 0 ? (  lt;RiSearch2Line className="searchicon"/gt;  ) : (  lt;RiCloseLine id="clearBtn" onClick={clearInput} /gt;  )} lt;/divgt;  lt;/divgt;  { filteredPlayerData.length !== 0 amp;amp; (  lt;div className="dataresult"gt;  {filteredPlayerData.map((value,key) =gt; {  return lt;button className="dataItem" gt;{value.name}, {value.club}lt;/buttongt;  })  }  lt;/divgt; )}  lt;/divgt;  ); }  export default SearchBar  

Здесь я отфильтровал только имя игрока. Логика фильтра поиска такова :

 if (searchWord === "") {  setFilteredData([]);   } else{  setFilteredData(nameFilter);  }  

Может ли кто-нибудь помочь мне с этой проблемой?