看了很多别人写的react代码,发现经常会在react组件中使用setTimeout函数(如下代码),为什么不直接调用某函数呢,是在等状态更新吗,
如果是在等状态更新的话,pushItems()函数要加括号呢,加了括号不就成了立即执行函数了吗,那设置延时还有作用吗
let id = setTimeout(() => this.pushItems(), 10);
看了很多别人写的react代码,发现经常会在react组件中使用setTimeout函数(如下代码),为什么不直接调用某函数呢,是在等状态更新吗,
如果是在等状态更新的话,pushItems()函数要加括号呢,加了括号不就成了立即执行函数了吗,那设置延时还有作用吗
let id = setTimeout(() => this.pushItems(), 10);
这是比较推荐的写法,好处是语义清晰,防止错写。
它表明了这里是一个处理函数,而不是某个变量,在回看代码的时候非常清楚。
虽然它还可以写成:
let id = setTimeout(this.pushItems, 10);
但不推荐使用
4 回答1.6k 阅读
2 回答1.1k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答958 阅读✓ 已解决
1 回答686 阅读✓ 已解决
2 回答848 阅读✓ 已解决
2 回答1k 阅读
相当于
不是立即执行的。