useEffect用于處理組件中的effect膏斤,通常用于請求數(shù)據(jù)挪蹭,事件處理浓镜,訂閱等相關(guān)操作锭魔。
useEffect的第二個參數(shù):
1.當useEffect沒有第二個參數(shù)時
通過這個例子可以看到useEffect沒有第二個參數(shù)時不停的在調(diào)用
2.當useEffect第二個參數(shù)為空數(shù)組時
通過這個例子可以看出來useEffect在調(diào)用一次后就不再調(diào)用
3.當useEffect第二個參數(shù)為變量時
通過這個例子可以看出來useEffect在每次count發(fā)生變化時調(diào)用
useEffect的使用:
上面的例子可以看出來使用useEffect和和class component使用生命周期函數(shù)時的區(qū)別,使用useEffect將每次count變化的數(shù)據(jù)都打印出來咬荷,而使用componentDidUpdate打印了最后一個數(shù)據(jù)很多次冠句,因為class component里面的state隨著render是發(fā)生變化的,而useEffect里面的所有東西都是每次render獨立的幸乒。
useEffect清除:
useEffect通過return進行一些清除懦底。
例如官方文檔里面的例子,當props.friend.id發(fā)生變化時罕扎,可以進行清除工作聚唐。