首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么React源码中的效果被命名为“被动效果”?

为什么React源码中的效果被命名为“被动效果”?
EN

Stack Overflow用户
提问于 2021-04-30 15:27:43
回答 1查看 86关注 0票数 1

作为一个非英语母语的人,我对“被动影响”这个术语感到困惑,就像在React源代码中的schedulePassiveEffectscancelPassiveEffects一样。“被动”在这里到底是什么意思?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-07 15:09:40

之所以称其为效应,是因为在React中还有其他效应。除了被动的效果,还有突变效果和布局效果。

被动模式是常见的模式,它侦听状态更改(通过依赖数组),然后可以调用更改其他状态的回调。

被动效果的独特之处在于,它等待所有UI (呈现和提交)稳定下来,然后在另一个时间片中调用它们。因此,回调发生在Javascript时间片中,类似于事件处理程序(例如,onClick)。

我相信这就是它的名字“被动式”的由来。因为它不是主动处理事件,而是被动地侦听状态更改并调用回调。我写了一篇关于这个的博客,https://javascript.plainenglish.io/is-a-react-passive-effect-an-artificial-event-2535977b9a91

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67329882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档