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

319
Vistas
Cuadro de filtro de ReactJS: se esperaba una asignación o llamada de función y, en su lugar, vio una expresión sin expresiones no utilizadas

Estoy tratando de crear un cuadro de filtro donde el usuario pueda filtrar videos según el idioma (hindi, inglés, tamil, malayalam, árabe y tagalo). Sigo recibiendo este error: Línea 42:29: Se esperaba una asignación o llamada de función y, en cambio, vi una expresión sin expresiones no utilizadas. Estoy tratando de entender el error y por qué se muestra. Recibo el inicio del error desde el último efecto de uso que creé hasta la declaración de devolución. ¿Alguien puede explicarme el error?

Aquí está mi código:

 import { useEffect, useState } from "react"; import "./App.css"; import RadioList from "./components/RadioList"; function App() { const [data, setData] = useState([]); const [filterData, setFilterData] = useState([]); const [language, setLangauge] = useState(""); useEffect(() => { const getData = () => { fetch("radio.json", { headers: { "Content-Type": "application/json", Accept: "application/json", }, }) .then(function (response) { console.log(response); return response.json(); }) .then(function (myJson) { console.log(myJson); setData(myJson); }); }; getData(); }, []); useEffect(() => { setFilterData(data) }, [data]); useEffect(() => { setFilterData( data.filter(value => {value.language === language}) ) }, [language]); return ( <div className="mt-5 flex flex-col items-center"> <select value="Choose a Language" > {filterData.map((radioItem) => { <option language={radioItem.language}> </option> })} </select> {data.map((radioItem) => { return ( <RadioList server_url={radioItem.server_url} title={radioItem.name} language={radioItem.language} /> ); })} </div> ); } export default App;
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Inserte una declaración de devolución de la siguiente manera en su filter dentro de useEffect .

 useEffect(() => { setFilterData( data.filter((value) => { return value.language === language; }) ); }, [language]);

Y también tienes que hacer el cambio dado por @J.Parashar.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Array.prototype.map() & Array.prototype.filter() espera una declaración de retorno, la refactorización a continuación debería resolver el problema

 { filterData.map((radioItem) => { return( <option> </option> ) }) }

o simplemente :

 filterData.map(radioItem => (<option>{}</option>))

about 4 years ago · Juan Pablo Isaza Denunciar
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