fbpx

Responder a: Temas State y Props

  • Angel Sánchez

    organizador
    20 abril, 2023 en 4:34 pm

    Hola, la segunda función, incrementCounterValue, está incrementando el valor del contador en 1 en cada llamada, pero lo está haciendo de manera incorrecta.

    En lugar de devolver un objeto que contenga la actualización del valor del estado, como debería hacerse en setState, la función de flecha dentro de setState está devolviendo el valor del contador incrementado en 1 (prevState.counter += 1). Esto hace que el valor del estado se actualice incorrectamente, y cada vez que se llama a incrementCounterValue, el valor del contador se incrementa en 2 en lugar de en 1.

    Para corregir esto, la función de flecha dentro de setState debe devolver un objeto que contenga la actualización del valor del estado, como se muestra a continuación:

    incrementCounterValue = () => {

    this.setState(prevState => {

    return { counter: prevState.counter + 1 };

    });

    };

    En cuanto a la tercera función, incrementCounterValue2, también está incrementando el valor del contador de manera incorrecta. Al igual que en la segunda función, la función de flecha dentro de setState está devolviendo el valor del contador incrementado en 2 (prevState.counter += 2), lo que hace que el valor del estado se actualice incorrectamente y el contador se incremente en 4 en cada llamada.

    Para corregir esto, la función de flecha dentro de setState debe devolver un objeto que contenga la actualización del valor del estado, pero incrementando el valor del contador en 2 en lugar de en 4:

    incrementCounterValue2 = () => {

    this.setState(prevState => {

    return { counter: prevState.counter + 2 };

    });

    };

    En resumen, lo que pasa es que tu código retorna la operación ‘prevState.counter += 1’ en vez del resultado de la misma.