React onClick 函數在渲染時觸發:為什麼以及如何預防
在React 應用程式中,建立自訂元件通常涉及傳遞資料和函數到子組件。處理物件清單和刪除函數時,您可能會遇到 onClick 函數在渲染期間而不是點擊時觸發的問題。
程式碼範例:
考慮以下程式碼:
const TaskList = React.createClass({ render: function() { const tasks = this.props.todoTasks.map(todo => ( <div> {todo.task} <button type="submit" onClick={this.props.removeTaskFunction(todo)}> Submit </button> </div> )); return ( <div className="todo-task-list">{tasks}</div> ); }, });
問題說明:
出現🎜>問題說明:
出現🎜>問題說明:
出現問題是因為我們的程式碼呼叫this.props.removeTaskFunction(todo) 而不是簡單地傳遞onClick 函數。此立即呼叫會導致函數在渲染期間執行。
<button type="submit" onClick={() => this.props.removeTaskFunction(todo)}>
解決方案:
要解決此問題,我們可以使用箭頭函數,如以下程式碼所示:以上是為什麼我的 React `onClick` 函數會在渲染過程中觸發以及如何防止它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!