使用创建的效果在useEffect@H_403_2@渲染提交阶段之后运行,因此在渲染周期之后运行。这是为了确保在渲染提交阶段不会执行任何可能导致不一致的副作用。
根据文档
不允许在功能组件的主体内部进行突变,订阅,计时器,日志记录和其他副作用(称为React的渲染阶段)。这样做会导致UI中的错误和不一致。
传递到的函数useEffect@H_403_2@将在将渲染提交到屏幕后运行。
useEffect@H_403_2@挂钩可用于复制类组件的,和生命周期方法的行为
componentDidMount@H_403_2@,具体取决于传递给依赖项数组的参数(这是useEffect的第二个参数)以及在执行下一个效果之前或之前在回调中执行的返回函数卸下
componentDidUpdate``componentWillUnmount@H_403_2@
对于某些用途,animations@H_403_2@您可以利用
useLayoutEffect@H_403_2@所有DOM突变后同步执行的情况。使用它从DOM读取布局并同步重新渲染。在浏览器有机会绘制之前,在useLayoutEffect内部计划的更新将被同步刷新。