React?Hooks的useState、useRef使用小結(jié)
React Hooks 是 React 16.8 版本引入的新特性,它允許你在不編寫 class 的情況下使用 state 和其他 React 特性。其中,useState
和 useRef
是兩個常用的 Hooks。
1. useState
useState
是一個允許你在函數(shù)組件中添加 state 的 Hook。
使用說明:
useState
返回一個狀態(tài)變量和一個設(shè)置該變量的函數(shù)。- 如果傳遞給
useState
的初始值是undefined
,則返回的狀態(tài)變量初始值為undefined
。 - 你可以在組件的任何地方調(diào)用
useState
,但通常建議在組件的頂層調(diào)用它。
代碼示例:
import React, { useState } from "react" import { Button } from 'antd'; const IndexPage: React.FC = () => { console.log("視圖更新"); /** * useState 唯一的參數(shù)就是初始 state 沒有參數(shù)時(shí)為 undefined * useState()會返回一個數(shù)組 * 索引0 useState傳入的參數(shù) * 索引1 改變索引0的值并刷新視圖 setObj是一個方法 參數(shù)為需要改變的值 * 我們可以按照需要使用數(shù)字或字符串對其進(jìn)行賦值,而不一定是對象 **/ const [obj, setObj] = useState({ count: 0 }) const setCount = (obj: any) => { obj.count++ // 當(dāng)useState創(chuàng)建一個引用類型的變量時(shí) setObj的內(nèi)存地址與obj內(nèi)存地址相同時(shí)useState不會更新視圖 // setObj(obj) // 不會更新視圖 setObj({ ...obj }) // 會更新視圖 console.log(obj); } return ( <div> {obj.count} <br /> <Button onClick={() => setCount(obj)}>count+1</Button> </div> ); } export default IndexPage
2. useRef
useRef
是一個可以存儲任意數(shù)據(jù)類型的不可變(只讀)引用(比如一個 DOM 元素或一個 React 組件)。ref 是一個響應(yīng)式的引用,這意味著即使它的調(diào)用點(diǎn)沒有發(fā)生改變,它的指向也會隨著組件渲染而更新。
使用說明:
useRef
返回一個可變的 ref 對象,其.current
屬性被初始化為傳遞的參數(shù)(或undefined
)。.current
的值在組件的整個生命周期內(nèi)保持不變。- ref 對象在組件的整個生命周期內(nèi)保持不變。
代碼示例:
import React, { useRef } from "react" import { Button } from 'antd'; const IndexPage: React.FC = () => { // useRef() 有一個參數(shù)為初始值 const ref = useRef(1) console.log(ref); return ( <div ref={ref}> </div> ); } export default IndexPage
到此這篇關(guān)于React Hooks的useState、useRef使用小結(jié)的文章就介紹到這了,更多相關(guān)React Hooks useState、useRef 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
React Native按鈕Touchable系列組件使用教程示例
這篇文章主要為大家介紹了React Native按鈕Touchable系列組件使用教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11React中的useState和setState的執(zhí)行機(jī)制詳解
這篇文章主要介紹了React中的useState和setState的執(zhí)行機(jī)制,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03比ant更豐富Modal組件功能實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了比ant更豐富Modal組件功能實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11詳解react如何實(shí)現(xiàn)復(fù)合組件
在一些react項(xiàng)目開發(fā)中,常常會出現(xiàn)一些組合的情況出現(xiàn),這篇文章主要為大家介紹了復(fù)合組件的具體實(shí)現(xiàn),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-10-10react.js使用webpack搭配環(huán)境的入門教程
本文主要介紹了react 使用webpack搭配環(huán)境的入門教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-08-08