Web3学习笔记(七)React基础06

最后这段理解起来不是那么容易,不管怎样,先记录下来重点:

  • Effect通常用于暂时“跳出”React,并与一些外部系统进行同步。这包括浏览器 API、第三方小部件,以及网络等等。
  • 默认情况下,Effect在每次渲染(包括初始渲染)后运行。
  • 通过在调用useEffect时指定一个依赖数组作为第二个参数,可以让 React跳过不必要地重新运行Effect。
  • 依赖数组可以包含多个依赖项。只有当指定的所有依赖项的值都与上一次渲染时完全相同,React才会跳过重新运行该 Effect。
  • 我们不能“选择”依赖项,它们是由 Effect 内部的代码所决定的。
  • 没有依赖数组时,useEffect中代码会在每次渲染后运行;
  • 依赖数组为空数组为空时,useEffect中代码只会在组件挂载(首次出现)时运行;
  • 依赖数组有依赖项时,useEffect中代码不但会在组件挂载时运行,而且当任一依赖项的值自上次渲染后发生变化后也会运行。
  • 如果你可以在渲染期间计算某些内容,则不需要使用 Effect。
  • 如果一个值可以基于现有的props或state计算得出,不要把它作为一个state,而是在渲染期间直接计算这个值。
  • 组件显示时就需要执行的代码应该放在Effect中,否则应该放在事件处理函数中。

这是最后章节了,虽然理解有些困难,但是结合示例代码,还是能理解,只不过不容易记住而已。

发表回复