为什么效果在 React 源代码中被命名为 "passive effects"?



作为一个非英语母语的人,我对";"被动效应";,如React源代码中的schedulePassiveEffectscancelPassiveEffects。这里的"被动"到底是什么意思?

它之所以不只是被称为效果,是因为React中还有其他效果。有突变效应、布局效应和被动效应。

被动的是普通的,它(通过依赖数组(监听状态更改,然后可以调用更改其他状态的回调。

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

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

最新更新