【发布时间】:2022-01-10 08:08:46
【问题描述】:
我正在使用反应。
import React from 'react';
function Scheduler(props) {
var remainingHours = 5;
const TimelineHeaderItem = () => {
remainingHours = 8;
console.log(remainingHours) // prints 8
return <></>;
}
const name = () => {
console.log('fetching remaining hours=>', remainingHours); // prints 5
}
return (
<>
<TimelineHeaderItem />
{name()}
</>
);
}
export default Scheduler;
如您所见,我已将TimelineHeaderItem 中的remainingHours 的值更改为8。
但是当我在name 函数中访问该值时,它会打印出5,这是前一个。
为什么会这样?以及如何访问更新的值。
【问题讨论】:
-
你需要使用钩子,这样 React 才能知道它的状态变化。
-
是的,我可以使用
useState但是,我的问题是,如果我之前已经更改过,为什么我的值会变旧?
标签: reactjs state use-state react-functional-component rerender