Day 6 hook的前奏useEffect

useEffect

在class component时,分别有三个生命周期componentDidUpdate、componentDidMount、componentWillUnmount这三个阶段都可以在一个effect完成

来我们看一段code

import { useEffect } from 'react';

useEffect(() => {
	...someting code
	
	return () => {
		...clear something
	}
} , [dependency])

那如何用useEffect呈现三个生命周期呢!

  1. 如何实作DidMount
useEffect(() => {}, []);

假如把dependency设为一个空的阵列(array)这样就会跟class component里的componentDidMount一样只会在dom mount後执行一次

  1. 如何实作WillUnmount
useEffect(() => {
	...subscrption something

	return () => {
		...unSubscription something
	}
}, [特殊的ID]);

假如我们在effect里面return 一个function 他就会在下次DidUpdate时进行清除的动作

以这段程序来说,说订阅一个特殊Id(叫ID: 9527),如果下一次要订阅(ID: 0001)他就会进行清除ID:9527的订阅.

  1. 如何实作DidUpdate
useEffect(() => {}, [depandency]);

这部分重点是dependency,如果依赖值做更改的话,整个effect会重新执行一次来达到componentDidUpdate的功能

再补上useEffect的优化....我再想想有啥例子


<<:  Day6. 依点成形,创造物件 - RigidBody(上)

>>:  卡夫卡的藏书阁【Book7】- Kafka 实作新增 Topic

[Day 28] Node thread pool 3

前言 今天的内容是整理整个 threadpool (TP) 的调用过程 回顾 在 pending 阶...

【在 iOS 开发路上的大小事-Day09】将常用的 Function 写成一个 class,让各个档案都能使用

在开发上,常常会有一些 Function 是会在各个档案中使用的,如果每次都要在需要用到这个 Fun...

Day 16 实作个资隐私盘点

根据PLBD过往参与自家产品服务盘点各方将会用到的用户资料,不论是传输、使用及储存等都必须逐项展开列...

初学者跪着学JavaScript Day24 : 原型不会,但你还有class

一日客语:中文:蛋 客语:唇 ES6语法 是constructor function 一种语法糖 函...

C# web Form web.aspx 跳出提示视窗的4种方法

一般在写ASP.NET是不太希望用 response.write来作页面输出。 因为用respon...