作为一个非英语母语的人,我对“被动影响”这个术语感到困惑,就像在React源代码中的schedulePassiveEffects,cancelPassiveEffects一样。“被动”在这里到底是什么意思?
发布于 2021-08-07 15:09:40
之所以称其为效应,是因为在React中还有其他效应。除了被动的效果,还有突变效果和布局效果。
被动模式是常见的模式,它侦听状态更改(通过依赖数组),然后可以调用更改其他状态的回调。
被动效果的独特之处在于,它等待所有UI (呈现和提交)稳定下来,然后在另一个时间片中调用它们。因此,回调发生在Javascript时间片中,类似于事件处理程序(例如,onClick)。
我相信这就是它的名字“被动式”的由来。因为它不是主动处理事件,而是被动地侦听状态更改并调用回调。我写了一篇关于这个的博客,https://javascript.plainenglish.io/is-a-react-passive-effect-an-artificial-event-2535977b9a91
https://stackoverflow.com/questions/67329882
复制相似问题