• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

109
Vistas
¿Cómo persuado a Babel para que me permita definir una matriz de constantes de Javascript?

Estoy construyendo mi primera aplicación expo/react. Sigo recibiendo un mensaje de error "Token inesperado" en App.js:

 export default class App extends React.Component { const [message, setMessage] = useState("...");

el error está en el [ de la línea que comienza const .

Lo mejor que puedo decir es que este es un problema de babel: esta sintaxis se introdujo en ES2015. AFAICS, esto debería resolverse agregando @babel/preset-env a babel.config.js así:

 module.exports = function(api) { api.cache(true); return { presets: [ '@babel/react', '@babel/env', ], plugins: [ '@babel/proposal-class-properties', ], }; };

¡La agrupación tiene éxito, pero el error persiste! ¿Qué me estoy perdiendo?

about 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El error no se debe a que esté tratando de usar la desestructuración de matrices en general, sino a que lo está haciendo dentro del cuerpo de una clase (donde solo puede declarar propiedades).

Los React Hooks solo son compatibles con los componentes Function de todos modos. No puede usarlos en componentes de clase.

Por lo tanto, debe usar la sintaxis del componente de función.

 const App = () => { const [message, setMessage] = useState("..."); // ... } export default App;

Otras lecturas:

  • Clases en JavaScript (MDN)
  • Componentes de funciones y clases (React) (Un breve resumen)
  • Componente React (referencia de API para la definición de clase del componente React)
about 3 years ago · Santiago Trujillo 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda