Vejamos o codigo abaixo:
export default function Itens(props : Props){
const [lista, setLista] = useState(cardapio);
const {busca, filtro} = props;
function testaBusca(title: string) {
const regex = new RegExp(busca, 'i');
return regex.test(title);
}
function testaFiltro(id: number){
if (filtro !== null) return filtro === id;
return true;
}
useEffect(() => {
const novaLista = cardapio.filter(item => testaBusca(item.title) && testaFiltro(item.category.id));
setLista(novaLista);
}, [busca, filtro]);
Na const novaLista, tanto o testaBusca como o testaFiltro, tem de retornar como true para que ele faca parte da novaLista. A minha duvida comeca na funcao testaBusca....
function testaBusca(title: string) {
const regex = new RegExp(busca, 'i');
return regex.test(title);
}
Se o titulo (title) for vazio, o regex retorna true?
Quanto ao useEffect, no meu vsCode ele reclama dizendo que eu tenho de colocar testaBusca e testaFiltro, como dependencias! Alguem mais?