五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

千鋒教育2022版React全家桶教程_react零基礎(chǔ)入門到項(xiàng)目實(shí)戰(zhàn)完整版

2023-07-15 17:51 作者:13135600239  | 我要投稿


# React hooks

函數(shù)組件

1. 函數(shù)組件沒有state,沒有this指向

2. 函數(shù)組件沒有生命周期

## userState使用

函數(shù)組件沒有state,提供了useState并提供讀、寫2個(gè)參數(shù),可以對(duì)數(shù)據(jù)進(jìn)行讀、寫操作。

使用代碼

```js

import React ,{useState}from 'react' //先引入

export default function Fun() {

? ? const [name, setname] = useState("zs");//可以通過第一個(gè)參數(shù)讀取數(shù)據(jù),第二個(gè)參數(shù)是用來改變第一個(gè)參數(shù)的數(shù)據(jù)

? ? const [age, setage] = useState(10);


? ? return (

? ? ? ? <div>

? ? ? ? ? ? <div>姓名:{name}</div>

? ? ? ? ? ? <button onClick={() => {

? ? ? ? ? ? ? ? setname("ls")

? ? ? ? ? ? }}>changename</button>

? ? ? ? ? ? <div>年齡:{age}</div>

? ? ? ? ? ? <button onClick={() => {

? ? ? ? ? ? ? ? setage(age + 1)

? ? ? ? ? ? }}>changeage</button>

? ? ? ? </div>

? ? )

}

```

## useEffect(副作用函數(shù))

1. 函數(shù)組件不存在生命周期 useEffect可以配合邏輯和依賴模擬類中生命周期概念 但是useEffect!=類的生命周期

2. useEffect調(diào)用會(huì)默認(rèn)執(zhí)行一次,接受兩個(gè)參數(shù),第一個(gè)參數(shù)是一個(gè)回調(diào)函數(shù),第二個(gè)參數(shù)是一個(gè)數(shù)組

### useEffect中第二個(gè)參數(shù)數(shù)組為空和不為空的區(qū)別?

1. 傳空數(shù)組表示副作用函數(shù)不依賴于任何狀態(tài),狀態(tài)發(fā)生改變,不會(huì)影響到useEffect,并且useEffect只會(huì)執(zhí)行一次

2. 不傳空數(shù)組表示在useEffect中使用了這個(gè)變量,并且在數(shù)組中申明了依賴,當(dāng)依賴的變量狀態(tài)發(fā)生改變時(shí),useEffect會(huì)執(zhí)行,數(shù)據(jù)狀態(tài)再次改變,useEffect會(huì)判斷狀態(tài)有沒有重復(fù)執(zhí)行,重復(fù)了,不會(huì)再次執(zhí)行,沒重復(fù),useEffect不會(huì)重復(fù)執(zhí)行,如果使用了變量不申明,會(huì)有eslint警告,useEffect再也不會(huì)執(zhí)行,

### useffect使用

```js

import React ,{useEffect,useState}from 'react'


export default function Fun() {

? ? const [name, setname] = useState("zhangshan");

? ? useEffect(()=>{

? ? ? ? setname(name.slice(0,1).toUpperCase()+name.slice(1))

? ? }, [name]);

? return (

? ? <div>Fun--{name}

? ? <button onClick={()=>{

? ? ? ? setname("lisi")

? ? }}>changename</button>

? ? </div>

? )

}

```

### useEffect模擬銷毀組件

通過傳入的函數(shù)return ()=>{} 進(jìn)行銷毀


### useEffect注意點(diǎn)

1. 使用次數(shù)?可以使用多次,可以寫多個(gè)useEffect函數(shù)

2. useEffect和useLayoutEffect的區(qū)別?

? ?a. 調(diào)用的時(shí)機(jī)不一樣,useLayoutEffect更加類似于componentDidMount和componentDidMount操作,在DOM完成更新后會(huì)立即調(diào)用函數(shù),會(huì)阻塞頁(yè)面渲染,useEffect會(huì)在整個(gè)頁(yè)面都跟新完成之后執(zhí)行

? ?b. useEffect在實(shí)際使用中會(huì)導(dǎo)致頁(yè)面抖動(dòng),可以把需要操作的dom代碼放在useLayoutEffect中,進(jìn)行dom操作,修改的dom會(huì)和react作出更改一起被渲染在頁(yè)面上,只有一次回流,重繪的代價(jià)

千鋒教育2022版React全家桶教程_react零基礎(chǔ)入門到項(xiàng)目實(shí)戰(zhàn)完整版的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
威信县| 青田县| 资溪县| 北海市| 怀安县| 若羌县| 金秀| 油尖旺区| 杨浦区| 侯马市| 喀喇| 云南省| 芮城县| 安化县| 泽州县| 小金县| 章丘市| 油尖旺区| 祁连县| 宜君县| 开原市| 陈巴尔虎旗| 康马县| 鄂伦春自治旗| 东阳市| 遂宁市| 雅江县| 甘孜县| 蛟河市| 马关县| 太谷县| 湛江市| 华安县| 嘉善县| 临湘市| 黄平县| 滦南县| 营山县| 宁强县| 达尔| 濮阳市|