最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
临武县| 阳高县| 南康市| 大化| 从化市| 揭阳市| 哈密市| 景谷| 洪泽县| 东宁县| 恩平市| 凯里市| 中阳县| 和硕县| 从化市| 鄄城县| 全州县| 通辽市| 桂林市| 苏州市| 右玉县| 夏邑县| 郴州市| 池州市| 云和县| 景德镇市| 当阳市| 文昌市| 永城市| 黄梅县| 广水市| 南昌市| 铁岭市| 固镇县| 鸡西市| 高邑县| 二手房| 杭锦旗| 孝昌县| 沧州市| 电白县|