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

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

千鋒教育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)完整版的評論 (共 條)

分享到微博請遵守國家法律
舞钢市| 绩溪县| 清水河县| 文安县| 麻阳| 印江| 泸水县| 肇州县| 德昌县| 红桥区| 朔州市| 东乡县| 云浮市| 吴旗县| 保定市| 双辽市| 新建县| 礼泉县| 页游| 读书| 任丘市| 延庆县| 灵寿县| 安图县| 枞阳县| 岗巴县| 施甸县| 岑巩县| 绥阳县| 平乐县| 湖南省| 南召县| 武夷山市| 乐清市| 镇赉县| 津南区| 定西市| 莱西市| 长岭县| 皋兰县| 瓮安县|