国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

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

2023-07-17 01:15 作者:bili_55041909658  | 我要投稿

useState使用時需要通過react引入

import React, { useState } from 'react'

返回值是是一個數組,第一個元素是狀態(tài)(初始值默認是傳入參數),第二個元素是改變狀態(tài)的函數

const obj = useState("aaa")
?console.log("obj", obj);

匿名函數可以抽出放到外面,setStr改變狀態(tài)的函數不能放在return前面,否則會死循環(huán);就像setState不能放在render之內,return之前一樣

const changeHandler = () => {
???setStr("bbb")
}
<button onClick={changeHandler}>修改</button>

不能直接賦值給狀態(tài),會報錯:不能給常量賦值變量

str = "yyy"

set改變狀態(tài)的函數也是一個異步的,調用此函數后打印當前狀態(tài),還是顯示更新之前的狀態(tài)

const [text, setText] = useState("")

?const inputHandle = (e) => {
???setText(e.target.value)?//輸入u
???console.log("text", text);?//打印初始值空字符串
?}

不過調用setText方法會重新渲染,函數會再調用一次。因此在function內 return之前會得到更新后的值

console.log("text", text); //輸入框內輸入u,此處會打印u

 return ()

想在數組上新增,操作原數組會失效

const addHandle = (e) => {
 list.push(text)
  setList(list)?//失效
}

先在原數組上新增,再把原數組的復制版本賦值給set函數倒是可以生效

const addHandle = (e) => {
???list.push(text)
  setList([...list])
}

把新數組當作參數傳給函數也可以生效

const addHandle = (e) => {
???let newList = [...list, text]
???setList(list)
 }

如果某些函數需要傳參,就得把匿名函數寫在標簽內了

{list.map((item, index) => {
?return <div key={item}>
??{item}
??<button onClick={() => {
????delHandler(index)
??}}>刪除</button>
 </div>
})}

如果數組為空,就顯示“暫無列表”,這是if的簡寫

{!list.length && <div>暫無列表</div>}


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

分享到微博請遵守國家法律
元朗区| 西贡区| 武清区| 赤水市| 鹤壁市| 建水县| 化德县| 吉安市| 民勤县| 绵竹市| 望奎县| 泸水县| 象山县| 游戏| 金堂县| 伊通| 文登市| 禄丰县| 六枝特区| 交城县| 玉环县| 伊川县| 凉城县| 重庆市| 彩票| 繁昌县| 名山县| 柯坪县| 江永县| 高密市| 天水市| 铁岭县| 通州区| 浪卡子县| 繁峙县| 林州市| 阜宁县| 五台县| 西和县| 喀喇| 武邑县|