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

394
Vistas
¿Cómo resolver TypeError no capturado: la clase extiende el valor indefinido no es un constructor o es nulo?

Estoy tratando de pasar el estado de una entrada de formulario al componente principal más cercano y luego volver a otro componente secundario en mi aplicación. El componente principal al que quiero elevar el estado era una función que tomaba 'flashcards' como un accesorio desestructurado que es crucial para la función de mi aplicación. Estoy tratando de elevar el estado a este componente y cuando investigué sobre cómo hacer esto, me di cuenta de que el componente principal al que está elevando el estado tiene que ser un "Componente de clase que extiende React. Component" y cuando haga eso, no puedo usar 'flashcards como un accesorio desestructurado porque aparece el error "Error de tipo no detectado: la clase extiende el valor indefinido no es un constructor o es nulo en Module../src/FlashcardList.js (FlashcardList.js:6:1) en Module.options.factory (reaccionar actualización: 6: 1)" ¿Cómo cambio el componente FLashcardList para que pueda aceptar el accesorio de tarjetas flash y vincularlo en el constructor? Así es como se ve mi archivo FlashcardList.js ahora después de haberlo cambiado a la forma de extensión de clase:

 import React from 'react' import Flashcard from './Flashcard' import NameForm from './NameForm' import flashcards from './App' export default class FLashcardList extends React.Component ({ flashcards }) { // taking in the flashcards as destructured props so we dont have to make a props. variable constructor(props) { super(props); this.state = {username: ''}; this.handleChange = this.handleChange.bind(this); } handleChange = (event) => { this.setState({username: event.target.value}); } render() { return ( <div> <NameForm onChoose={this.handleChange} /> <div className='card-grid'> {flashcards.map(flashcard => { // loops through the flashcards api and maps each one to flashcard return <Flashcard flashcard={flashcard} key={flashcard.id} choice={this.state.username} /> // each flashcard is then passed down to the "Flashcard.js" component we created returned wa unique id })} </div> </div> ) } }

y así es como se veía antes de cambiarlo:

 import React from 'react' import Flashcard from './Flashcard' export default function FLashcardList({ flashcards }) { // taking in the flashcards as destructured props so we dont have to make a props. variable return ( // card-grid is a container so we can put all the cards in a grid to ensure they change in size proportionally to the size of the window // <div className='card-grid'> {flashcards.map(flashcard => { // loops through the flashcards api and maps each one to flashcard return <Flashcard flashcard={flashcard} key={flashcard.id} /> // each flashcard is then passed down to the "Flashcard.js" component we created returned wa unique id })} </div> ) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

React.Component es una clase, no una función. Tienes que definirlo como:

 export default class FLashcardList extends React.Component { .... }

Si desea renderizar tarjetas didácticas a partir de accesorios, puede hacerlo de la siguiente manera:

 render() { return this.props.flashcards.map( // .... ) }
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