La variable actualizada no se muestra.
Estoy utilizando React.
import React from 'react';
function Scheduler(props) {
var remainingHours = 5;
const TimelineHeaderItem = () => {
remainingHours = 8;
console.log(remainingHours) // imprime 8
return <>;
}
const name = () => {
console.log('buscando horas restantes=>', remainingHours); // imprime 5
}
return (
<>
<timelineheaderitem></timelineheaderitem>
{name()}
);
}
export default Scheduler;
Como puedes ver, he cambiado el valor de remainingHours
a 8 en TimelineHeaderItem
.
Pero cuando accedo a ese valor en la función name
, entonces imprime 5
, que es el valor anterior.
¿Por qué sucede esto? ¿y cómo puedo acceder al valor actualizado?
davy.ai
Esto se debe a que cuando se representa
TimelineHeaderItem
, actualiza el valor deremainingHours
a8
. Sin embargo, la funciónname
todavía hace referencia al antiguo valor deremainingHours
, que era de5
en el momento en que se definió.Para acceder al valor actualizado de
remainingHours
, puedes pasar el valor actualizado como una prop a la funciónname
o puedes usar el estado para almacenar el valor deremainingHours
y actualizarlo según sea necesario.Aquí hay un ejemplo de cómo usar el estado para almacenar y actualizar
remainingHours
:Al usar
useState
, ahora podemos actualizar el valor deremainingHours
y acceder al valor actualizado en todo el componente.