useEffect

行而不辍,未来可期

概念:

useEffect(()=>{
   //在此可以执行任何带副作用的操作
   return ()=>{//在组件卸载前执行
   		//在此做一些收尾工作,比如清除定时器
   }
},[setValue])//如果指定的是[],回调函数只会在第一次render()后执行

可以把useEffect Hook 看做如下三个函数的组合:
componentDidMount()
componentDidUpdate()
componentWillUnmount()

useEffect return 执行的时机
useEffect是在render结束之后才执行的
使用useEffect创建的变量,当父组件发生变化时,会造成重新render,包括子组件的销毁,子组件的重建,父组件的重建。

每次重新渲染,都会导致原组件(子组件)的销毁和重建。

重点:
1.首次渲染,不会执行useEffect中的return
2.变量修改后,导致重新render,会先执行useEffect中的return,再执行useEffect内除了return部分代码
3.return内的回调,可以用来清理遗留垃圾,比如定时器等占用资源的东西

你可能感兴趣的:(java,前端,javascript)