React HooK= { 簡要解釋};

react hook= { 簡要解釋};

usestate 是一個 react hook,它允許您通過返回包含兩個變量的數組來向組件添加狀態:state、setstate。當前狀態以及調用時成為 setter 函數的函數。它可用于跟蹤應用程序中需要跟蹤的數據或屬性,例如字符串、數字、布爾值、數組或對象。
示例:

const [state, setstate] = usestate();
關注:愛掏網

簡單來說,狀態會在任何時候發生變化并且需要更新,因此“setstate”將更新狀態,隨著時間的推移觸發組件的重新渲染。

此外,usestate 可以保存任何類型的 javascript 值,包括對象。始終記住的一點是,您永遠不應該直接更改處于 react 狀態的對象。首先,您需要創建一個新副本或創建現有副本的副本,然后將 state 設置為新副本。例如:

// objects
const [state, setstate] = usestate({name: 'marlo', age: 56});

const updatename = () => {
  setstate({...state, name: 'karlo'});
};

const updateage = () => {
  setstate({...state, age: 96});
};
---------------------------------------------------------------------------------
// arrays
const [array, setarray] = usestate([1, 2, 3, 4, 5]);

const additem = () => {
  setarray([...array, 6]);
};

const removeitem = () => {
  setarray(array.slice(0, array.length - 1));
};
關注:愛掏網

要在 react 組件中使用 usestate,首先需要從 react 導入它,通過兩種不同的方式在組件頁面頂部編寫以下代碼,兩種方式都可以完美工作,因此您可以選擇您的毒藥。

import react from 'react'; 
import {usestate} from 'react';
關注:愛掏網

或者你可以寫成一行

import react, {usestate} from 'react';
關注:愛掏網

react hook usestate 可以在組件的頂層或自定義鉤子內調用,但不能在循環或條件內調用。

const [initialstate, setinitialstate] = usestate();
關注:愛掏網

initialstate 僅在初始渲染期間使用,在后續渲染中將被忽略。
initialstate 函數被傳遞給 setinitialstate 函數,它以之前的狀態作為參數,并返回一個 newstate。

此外,在我看來,對于在 react 中什么地方可以使用 hooks 和什么地方不可以使用 hooks 沒有特殊的規則。當然,您必須謹慎且有策略地保持代碼井井有條。

在我的一個項目中,構建一個 spa(單頁應用程序),有各種組件來實現我的目標。組織良好的秘訣是跟蹤您的組件。例如,您的 app.js 組件將根據需要更新的數據類型使用 {usestate}。
讓我們介紹 react 中的另一個強大的鉤子:{useeffect},并將其與 {usestate} 一起使用來解釋這些鉤子如何對數據執行操作。以下示例來自我在最近的項目中使用的 app.js 組件。我正在處理玩具的 db.json 文件數據,這將有助于兒童第一年的發展。這是我的端點 http://localhost:4000/toys 來幫助您了解 {usestate} 和 {useeffect} 如何在應用程序組件內部工作的過程。

第一:初始化狀態:

const [toys, settoys] = usestate([]);
關注:愛掏網
  • 這一行初始化了一個狀態變量toys,用一個空數組[]作為初始值。
  • settoys 是一個用于更新玩具狀態的函數。

第二: 獲取組件掛載數據:

useEffect(() => {             
    fetch("http://localhost:4000/toys")  
      .then(response => response.json())
      .then(data => setToys(data)); 
  }, []);
關注:愛掏網
  • {useeffect} 鉤子用于在組件中執行副作用。
  • {useeffect} 中的函數會在組件掛載時運行一次,因為依賴數組 ([]) 為空。

第三: 獲取玩具數據:

  • fetch("http://localhost:4000/toys")
    • 此行向指定的 url 發出 get 請求以獲取玩具數據。
  • .then(響應=> response.json())
    • 來自 fetch 請求的響應被轉換為 json 格式。
  • .then(toysdata => settoydata(toysdata));
    • json 數據(toysdata)用于使用 settoys 函數更新玩具狀態。

要更深入地了解 {usestate, useeffect} 的工作原理,您可以訪問 react 官方網站。此外,另一個有用的來源是 w3schools 網站,這是我個人最喜歡的。它開門見山地提供了示例,您可以在自己的瀏覽器中嘗試。最后,如果您需要更多技術資源,mdn 網絡文檔將為您提供幫助。

以上就是React HooK= { 簡要解釋};的詳細內容,更多請關注愛掏網 - it200.com其它相關文章!

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: α片毛片免费看| 欧洲一卡2卡3卡4卡免费观看| 欧美高清性XXXXHDVIDEOSEX| 好硬好湿好大再深一点动态图| 国农村精品国产自线拍| 亚洲自偷精品视频自拍| chinese乱子伦xxxx视频播放 | 亚洲娇小性xxxx| 欧美日韩精品一区二区三区高清视频| 日韩人妻无码一区二区三区久久| 国产精品爽爽ⅴa在线观看| 3d动漫精品啪啪一区二区免费| 欧美精品色婷婷五月综合| 国语free性xxxxxhd| 亚洲欧美日韩在线精品2021| 91精品免费观看| 欧美夫妇交换完整版随便看| 国产激情精品一区二区三区| 成人午夜大片免费7777| 高清无码视频直接看| 九九精品免视看国产成人| 国产精品先锋资源站先锋影院| 欧美日韩在线视频一区| 美女视频黄a视频全免费网站色| 久草电影在线播放| 国产国产精品人在线视| 日韩成人精品日本亚洲| 豪妇荡乳1一5白玉兰免费下载| 亚洲av人无码综合在线观看| 国产精品亚洲小说专区| 桃花阁成人网在线观看| 粉色视频免费试看| 999在线视频精品免费播放观看| 交换年轻夫妇无删减| 国产精品理论电影| 女人笫一次一级毛片| 日韩欧美亚洲视频| 欧美xxxx做受性欧美88| 美女一级毛片视频| 娇小性色xxxxx中文| 亚洲AV色香蕉一区二区|