Por qué cuando utilizo esta forma para hacer la función handleChange <code>handleChange(e) { this.setState({ firstName: e.targe...

Pregunta de la clase:
Manejo de estado
Carlos Zabala Roqueme

Carlos Zabala Roqueme

Pregunta
studenthace 6 años

Por qué cuando utilizo esta forma para hacer la función handleChange

handleChange(e) { this.setState({ firstName: e.target.value }); }

Cuando escribo en la caja de texto me sale el siguiente error

error.PNG Pero cuando se implementan las arrow functions si funciona

handleChange = e => { this.setState({ name: e.target.value }); };
5 respuestas
para escribir tu comentario
    Greimer Abel Pérez Guzmán

    Greimer Abel Pérez Guzmán

    studenthace 4 años

    Ya que tendrías que,por así decirlo, anclar este método a "this", y "this" apuntará a este componente.

    Greimer Abel Pérez Guzmán

    Greimer Abel Pérez Guzmán

    studenthace 4 años

    Es mucho más sencillo creando la función de flecha

    Rene Eduardo Corrales Torrez

    Rene Eduardo Corrales Torrez

    studenthace 6 años
    import React from 'react' class BadgeFrom extends React.Component{ constructor(props){ super(props); this.state = { firstName: '', lastName: '', jobTitle: '', email: '', twitter: '' }; this.handleChange = this.handleChange.bind(this); }
    Carlos Zabala Roqueme

    Carlos Zabala Roqueme

    studenthace 6 años

    Vale, perfecto gracias

    Juan Luis Rojas León

    Juan Luis Rojas León

    studenthace 6 años

    Si utilizas handleChange(e) tienes que hacer el

    .bind
    en el constructor. (por defecto
    this
    no existe dentro del cuerpo de ese método)

    Y las

    funciones flecha
    ya cuentan con
    this
    , por lo que no es necesario hacer el
    bind
    .

Curso de React.js [Empieza Gratis]

Curso de React.js [Empieza Gratis]

React es una de las librerías más utilizadas hoy para crear aplicaciones web. Aprende desde la creación y diseño de componentes hasta traer datos de un API. Desarrolla aplicaciones web de muy alta calidad en tiempo record con React.js

Curso de React.js [Empieza Gratis]
Curso de React.js [Empieza Gratis]

Curso de React.js [Empieza Gratis]

React es una de las librerías más utilizadas hoy para crear aplicaciones web. Aprende desde la creación y diseño de componentes hasta traer datos de un API. Desarrolla aplicaciones web de muy alta calidad en tiempo record con React.js