React框架:
有时希望在页面更新后(即更新DOM)后进行一些额外操作,如请求网络数据,手动更改DOM或者日记记录。
在class组件和function组件中分别使用不同的方法,如下
1:class组件
在 React class 组件中, render 方法本身不应该进行副作用操作,但我们有时希望在react更新dom后,执行一些操作,会把副作用放在 mponentDidMount()和 componentDidUpdate()中
2:function组件
通过使用这个 useEffect,通知 React 组件需要在渲染后执行什么操作.如下例。在第一次 render 之后和每次 update 之后都会运行useEffect。在页面更新即dom渲染完成后,通过get()方法,get({ pageNum, pageSize }),请求远程数据渲染页面。当整个组件加载完成之后,还要触发一些额外的事情就是Effect。
本身此处组件只是加载到页面,但还要请求动态数据等等动作,这些动作并不是组件要做的,但是组件还是要取触发这些动作,就是useEffect。
当然useEffect是在整个组件完成之后才会取执行的