首頁 > web前端 > js教程 > 為什麼我的 React 元件函數中「this」未定義,如何修復它?

為什麼我的 React 元件函數中「this」未定義,如何修復它?

Susan Sarandon
發布: 2024-12-03 07:41:13
原創
237 人瀏覽過

Why is

處理React 元件函數中未定義的「This」

這個問題源自於一個問題,即「this」在下列元件函數中未定義React 元件。

在提供的範例中,問題出現在 onToggleLoop 函數中。執行此函數時,「this」在元件中未定義。這是因為React不會自動將方法綁定到元件。

要解決這個問題,我們需要使用bind(this)函數在建構函式中手動綁定方法。具體方法如下:

constructor(props) {
  super(props);

  this.state = {
    loopActive: false,
    shuffleActive: false,
  };

  this.onToggleLoop = this.onToggleLoop.bind(this);
}
登入後複製

透過在建構函式中綁定 onToggleLoop 方法,我們確保在執行時,「this」將引用元件實例。這允許我們在該函數中存取組件的狀態和屬性。

一旦進行此更改,「this」物件將不再在 onToggleLoop 函數中未定義,並且您應該能夠更新loopActive狀態符合預期。

以上是為什麼我的 React 元件函數中「this」未定義,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板