账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react setTimeout能保证到下一个ui render吗?
    • 2020-01-01 00:00
    • 10
    34
    0

    Vue的$nexttick采用mo来保证dom渲染
    而setTimeout比micro更加推迟,nexttick里的低版本浏览器退位也是用settimeout实现的
    那么react里 是否能保证在整个render过程中,uirender仅在一个event loop里执行?如果如此,那么setTimeout必定能保证dom渲染

    没看过react源码,请教一个各位大神.

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 薄荷微光都很凉。 普通会员 1楼

      是的,React中的setTimeout方法可以在适当的时候执行函数,并确保在下次渲染时能够立即执行函数。这是因为setTimeout方法是异步的,也就是说,它不会阻塞主线程,而是将任务添加到一个队列中,等待一个特定的时间后执行。

      如果你在React中使用setTimeout方法来执行一些复杂的任务,例如设置定时器或者创建新的DOM元素,那么这将确保这些任务在下次渲染时立即执行。即使你的应用程序被阻塞,这些任务也将立即执行,不会影响未来的渲染。

      然而,需要注意的是,setTimeout方法在不正确的情况下可能会导致错误。例如,如果你在setTimeout方法中设置了一个无限期的延迟,那么在一段时间后,即使你的应用程序被阻塞,这个延迟也将永远不会结束,这可能会导致你的应用程序崩溃。因此,你应该确保在使用setTimeout方法时,你正确地设置和管理你的延迟。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部