react小问题

看了很多别人写的react代码,发现经常会在react组件中使用setTimeout函数(如下代码),为什么不直接调用某函数呢,是在等状态更新吗,
如果是在等状态更新的话,pushItems()函数要加括号呢,加了括号不就成了立即执行函数了吗,那设置延时还有作用吗

let id = setTimeout(() => this.pushItems(), 10);
阅读 1.8k
2 个回答

相当于

let id = setTimeout(() => {return this.pushItems()}, 10);

不是立即执行的。

这是比较推荐的写法,好处是语义清晰,防止错写。
它表明了这里是一个处理函数,而不是某个变量,在回看代码的时候非常清楚。
虽然它还可以写成:

let id = setTimeout(this.pushItems, 10);

但不推荐使用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题