1
resposta

Não compreendi uma parte do codigo

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Salve, Ryan!

Esse trecho de código em específico não é do React, mas sim um método disponível em todos os arrays em JavaScript.

O método filter nos ajuda a filtrar uma lista. Nós recebemos como parâmetro o item da lista e retornamos true se quisermos manter na lista ou false se ele vai ser ignorado :)

Com isso em vista, e a foto como argumento, vamos pra validação:

Primeiro validamos pela tag:

Se temos alguma tag selecionada, queremos apenas as fotos que possuem aquela tag. Senão temos tag, vamos ignorar esse filtro.

A mesma coisa para o filtro em texto. Se temos algum valor digitado, comparamos com a foto.titulo, senão ignoramos.

No final, temos as seguinhos combinações:

  1. Se não temos texto na busca ou tag selecionada, retornamos true porque nenhum filtro aplicado
  2. Se temos apenas o filtro por tag, retornamos todas as fotos daquela tag
  3. Se temos apenas o filtro por texto, retornamos as fotos que tem aquele texto no título
  4. Por fim, se temos tag e filtro por texto, filtramos somente as fotos daquela tag e que possuem aquele texto no filtro