React onClick 函數在渲染時觸發
建立渲染物件清單的React 元件時,通常會同時傳遞物件和函數用於刪除它們作為道具。雖然使用 .map() 迭代物件是標準做法,但它可能會導致 onClick 函數在渲染過程中過早觸發。
在提供的程式碼中,問題源自於直接呼叫removeTaskFunction在 onClick 事件處理程序中。這意味著該函數在元件渲染後立即執行,而不是在單擊按鈕時執行。
解決方案
要解決此問題,應該傳遞該函數作為 onClick 的箭頭函數,確保它不會過早調用。更正後的行應如下所示:
ES6 中引入的箭頭函數,延遲執行直到呼叫該函數。在 React 0.13.3 或更高版本中,完全支援箭頭函數。透過使用箭頭函數,onClick 處理程序只會在實際點擊按鈕時觸發,正如預期的那樣。
以上是為什麼我的 React onClick 函數會在渲染時觸發?的詳細內容。更多資訊請關注PHP中文網其他相關文章!