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

321
Vistas
Reaccionar Extendiendo una clase obtengo "classCallCheck.js:3 TypeError no detectado: no se puede llamar a una clase como una función"

Encontré muchas preguntas y respuestas para esto, pero creo que la mía es ligeramente diferente. Todo lo que quiero hacer es usar la funcionalidad Base Class A en la Class B secundaria heredada, pero quiero usar una funcionalidad diferente para el método Cell . Con versiones anteriores de Webpack, funcionó bien, pero las versiones más nuevas de Webpack generan un "Error de tipo no detectado : no se puede llamar a una clase como una función ". El código de Webpack detecta el error es

 export default function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

Leí que tiene que ver con la instancia de clase y usar una new palabra clave es la forma de hacerlo funcionar. En mi caso, usando la última solución, pierdo toda la funcionalidad de la Base Class A creando nuevos tipos de errores porque la Base Class ya se usa como una instancia de las otras partes de las aplicaciones y mantiene sus propios estados. Lo intenté con un código de ejemplo como este

const C = new B() y return (<C param1={x}>); pero tampoco funcionó. ¿Alguna recomendación?

Aquí hay una versión simplificada de mi código.

 /****************BASE CLASS********************************/ const A = (props) => { const Cell = ({ p: row }) => { return .......... }; } export default A; /*************CHILD CLASS**********************************/ import { B } from 'baseClass'; export default class B extends A { Cell = ({ p: row }) => { return .......... }; } /*************MAIN**********************************/ import React, { Component } from 'react'; import B from 'childClass'; const List = class extends Component { render() { return (<B param1={x}>); } };
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