Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

144
Vistas
Cómo crear una entrada de filtro interactiva en reaccionar

Estoy aprendiendo a reaccionar y tratando de construir un juego de cartas de triunfo,

En este juego tengo una sección donde puedo crear el mazo de cartas y una sección donde puedo filtrar una carta por nombre.

Estoy tratando de hacer una entrada de filtro interactiva que al cambiar llama a una función handleFilter que obtiene el valor de la entrada y crea una nueva matriz de elementos filtrados.

Primero utilizo el método de matriz de filtro para filtrar la matriz de todas las tarjetas y luego verifico si el nombre de las tarjetas incluye el valor de la entrada.

Aquí está mi función handleFilter:

 handleFilter({ target: { value } }) { const { cards } = this.state; this.setState({ cardFilter: value }); const filterByName = cards.filter(({ cardName }) => ( cardName.toLowerCase().includes(value.toLowerCase()))); if (filterByName.length > 0) { this.setState({ filter: filterByName, found: true, }); } }

Tengo un problema cuando mi entrada no coincide con el nombre de ninguna carta en el mazo, en esa situación deseo que no se muestre ninguna carta.

En cambio, supongamos que tengo una tarjeta llamada pikachu y busco pikaboo.

Todavía obtengo pikachu en mi matriz, ya que ambos incluyen 'pika' y cuando hago el filtro e incluyo el nombre, se volverá verdadero y agregará pikachu a la lista filtrada que se procesará después.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda