[英]setTimeout is not called when called from a static function
我有一个名为 initTimer() 的实用程序 typescript class 和一个 static function,这个 function 调用 setTimeout。 然而,当这个 static function 从反应组件调用时,计时器没有启动!
StyleWrapper.tsx
const StyleWrapper: FC = (props) => {
const arrangeTiles = () => {
StyleUtil.initTimer();
};
return (
<Context.Provider value={{ arrangeTiles }}>
<div id="cnplStyleWrapper">{props.children}</div>
</Context.Provider>
);
};
样式实用程序.tsx
export class StyleUtil{
public static initTimer(){
const timeoutId = window.setTimeout(() => {
console.log("Timeout Called!!");
}, 100);
}
}
当我将超时值设置为 0 时,控制台语句将记录在控制台中,但 0 以外的任何值都不会将日志语句记录在控制台中。 奇怪,我是不是在概念上遗漏了什么?
我认为调用方法有问题<Context.Provider value={{ arrangeTiles }}>
你必须调用arrangeTiles()
它是一个方法而不是一个组件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.