Powered by Discuz

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 4|回復: 0

效果掛鉤

[複製鏈接]

1

主題

1

帖子

5

積分

新手上路

Rank: 1

積分
5
發表於 2024-4-17 18:16:43 | 顯示全部樓層 |閱讀模式
useState掛鉤傳回更新函數作為第二個陣列元素。您不應該對等號左側的方括號感到困惑。這就是所謂的“解構”,TypeScript 和現代 JavaScript 帶來了直接存取數組元素並將它們分配給局部變數的功能。對於功能組件沒有單獨的方法。相反,在必要時會重新執行整個函數。例如,如果從外部傳入的 props 發生變化,或者useState呼叫了傳回的 update 函數,就會發生這種情況。在這種情況下,useState更新的值會作為第一個陣列元素傳回,以便可以在元件內進行操作。 React 附帶的所有鉤子都遵循「useX」命名約定,並且強烈建議自訂鉤子使用此約定,以便能夠第一眼就識別出鉤子。這很重要,因為必須嚴格遵守掛鉤的特殊規則: 掛鉤只能在函數元件或自訂掛鉤中使用,而不能在類別元件或其他函數中使用。


此外,鉤子不能在 IF 分支、循環或子函數內調用,而必須位於函數元件或自訂鉤 沙烏地阿拉伯 電話號碼 子的頂層。這條規則的原因是 React 追蹤鉤子呼叫的順序,並且是跨多個渲染週期分配鉤子的唯一方法。然而,在實踐中,這些規則被證明是沒有問題的,而且你很快就會習慣它們。事實證明,始終在函數元件的開頭呼叫鉤子是一種很好的做法,以便保持良好的概覽。 效果掛鉤 React 帶來的第二個重要的鉤子是useEffect。它主要用於使用生命週期方法實現類別組件的情況。一個例子是元件顯示後立即透過網路非同步載入資料:對於類別元件,實作此方法componentDidMount,顧名思義,在元件插入元件樹後直接呼叫該方法。在該方法中可以啟動網路請求並訂閱結果。一旦結果出現,setState本地狀態就會更新,進而觸發使用載入的資料重繪元件。




程式碼區塊 3 示意性地顯示了這一點。為了使用功能元件獲得相同的結果,使用了useEffect。此鉤子將表示要執行的效果的函數作為其第一個參數。在我們的範例中,我們將在此處啟動網路請求並使用回呼偵聽請求的結果。我們也使用回調來更新本地狀態。由於我們處於功能元件中,因此該本地狀態當然是使用useState實現的。程式碼區塊 4 顯示了帶有鉤子的網路請求變體。 執行效果函數的時間和頻率取決於傳遞給useEffect的第二個參數。這是效果函數所依賴的變數數組。 React 會觀察數組中的值,並且僅在其中至少有一個值自上次以來發生變更時才執行效果函數。通常,變數是來自useState掛鉤的 props 或 state 變數。例如,如果網路請求取決於使用者的輸入參數,則該參數應出現在useEffect數組中。

回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|自動贊助|GameHost抗攻擊論壇

GMT+8, 2024-12-5 02:58 , Processed in 0.034571 second(s), 19 queries .

抗攻擊 by GameHost X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表
一粒米 | 中興米 | 論壇美工 | 設計 抗ddos | 天堂私服 | ddos | ddos | 防ddos | 防禦ddos | 防ddos主機 | 天堂美工 | 設計 防ddos主機 | 抗ddos主機 | 抗ddos | 抗ddos主機 | 抗攻擊論壇 | 天堂自動贊助 | 免費論壇 | 天堂私服 | 天堂123 | 台南清潔 | 天堂 | 天堂私服 | 免費論壇申請 | 抗ddos | 虛擬主機 | 實體主機 | vps | 網域註冊 | 抗攻擊遊戲主機 | ddos |