tratando de construir un filtro para el proyecto que estoy construyendo. Quiero analizar el JSON que obtengo de la API de back-end, filtrar las publicaciones de trabajo según la "ubicación" y mostrarlo.
useEffect(async () => { let condition = await getJobs(); switch (jobCondition) { case 'On-site': condition.filter((condition.jobLocation === 'in_person')); break; case 'Remote': condition.filter((condition.jobLocation === 'remote')); break; case 'Hybrid': condition.filter((condition.jobLocation === 'hybrid')); break; default: condition = null; } if (condition != null) { const params = new URLSearchParams({ jobs: jobFilter || null, location: locationFilter || null, since: datePosted || null, conditions: condition.data, }); history.push({ pathname: '/', search: `${params.toString()}` }); return; } const params = new URLSearchParams({ jobs: jobFilter || null, location: locationFilter || null, since: null, conditions: null, }); history.push({ pathname: '/', search: `${params.toString()}` }); }, [jobCondition]);Claramente estoy haciendo algo mal aquí porque ni siquiera cambia mis parámetros de URL.
Debe pasar una función de devolución de llamada con un argumento como primer parámetro y luego devolver un valor booleano:
condition.filter((con) => con.jobLocation === 'in_person'); Por cierto, si desea obtener la matriz filtrada, debe reasignar la condition o asignarla a otra variable.