javascript - 无法在 componentDidMount 中工作 setTimeout
问题描述
尝试setTimeout()
在 React js 中构建。我设置了这个,componentnDidMount()
但它只工作一次。不工作循环。
编码:
componentDidMount() {
setTimeout(console.log("hello"), 1000);
}
警告显示:
[违规] 'setInterval' 处理程序耗时 99 毫秒
我怎样才能重复这个功能?
解决方案
设置超时(函数,等待时间)
当您将函数传递给该setTimeout
方法时,该方法会等待指定的时间量waitTime
,然后调用该函数function
。但传入console.log('hello')
只是简单地 log out "hello"
,但不返回任何内容,因此实际上并没有将函数或可调用传递给方法。
很多方法可以解决这个问题:
setTimeout(function(){console.log("hello");},1000); //passes an actual function
setTimeout(()=>{console.log("hello");},1000); //lambda, passes an actual function
setTimeout(()=>console.log("hello"),1000); //same here
此外,如果它应该在间隔内重复,则使用setInterval
(same arguments as setTimeout
)。
推荐阅读
- java - Firebase - 在 Android 应用程序中分组的值
- c# - DocuSign:是否有使用权限来避免 USER_NOT_ENVELOPE_SENDER_OR_RECIPIENT 错误?
- swift - (iOS) Spotify 重定向 URI 错误:SpotifyLogin.LoginError.invalidUrl
- flutter - 使用flutter_bluetooth_serial包通过蓝牙读取数据
- c - C 编程 - 使用文件处理函数移动到文本文件中的下一行
- node.js - 如何使用nodejs更改IP
- python - 检查大于一个嵌套字典的键
- android - 我可以从 VSCode 中调试颤振的 android 插件吗?
- ios - 使用可选问号赋值
- erlang - gen_server 可以从两个不同的客户端进程接收消息吗?