跳到主要内容

#Tech

加快React进度

  1. 不要从组件的角度思考Effect,而是专注于单个启动/停止周期
  2. 将不同功能编写为不同的Effect。( 每个Effect应该代表一个独立的同步过程)
  3. 实验性API useEffectEvent
  4. 下面这段话值得斟酌

原代码的作者对 React “撒谎”说 Effect 不依赖于任何响应式值([])。这就是为什么 canMove(以及 handleMove)变化后 React 没有重新同步。因为 React 没有重新同步 Effect,所以作为监听器附加的 handleMove 还是初次渲染期间创建的 handleMove 函数。初次渲染期间,canMove 的值是 true,这就是为什么来自初次渲染的 handleMove 永远只能看到这个值。