【发布时间】:2020-07-17 08:50:18
【问题描述】:
我有一个可以自我更新的对象。假设它每秒钟都会改变它的状态。
export class Obj {
val = 0;
start = () => {
setInterval(() => {
this.update();
}, 1000);
}
update = () => {
this.val++;
}
}
我认为(如果我错了,请纠正我)类似的替代方案是连接到数据流的对象,每隔几毫秒将其状态更改为收到的最后一个值。
我现在想要一个显示这个的反应组件(使用钩子):
function C(obj) {
return <div>{obj.val}</div>
}
我的问题是,当obj 的值发生变化时,如何使组件C 发生变化?我可以在每次更改时使用回调,但感觉就像我只是为了 React 而污染我的模型。另一种方法是将Obj 之外的间隔移动到 React 组件中,但这可能不是我想要的,并且不会涵盖流的情况。
当组件的某些 props 更改其状态时,React 是否有标准方法来更新(基于函数的、基于钩子的)组件?
【问题讨论】:
-
这是什么语法? obj是一个类?此外,组件在 props 更改时自行呈现
标签: javascript reactjs