JSX 中對回調函數中的this的處理


在JSX回調中 需要注意 this 的指向,在JavaScript中,類方法默認沒有綁定的。如果沒有綁定 this.handleClick 並將其傳遞給 onClick,那么在直接調用該函數時,this 會是一個 undefined。

 這不是React 特有的行為,這是JavaScript 中的函數如何工作的一部分,一般情況下,如果你引用一個后面沒跟 ( ) 的方法,例如,onClick = { this. handleClick } ,那你就應該綁定 bind  該方法

有兩種方法可以解決這個問題,

① 使用實驗性的 屬性初始化語法,那么你可以使用屬性值設置來正確的綁定回調

②在回調中使用一個箭頭函數

這個語法的問題是,每次 組件對象渲染時都創建一個不同的回調,在多數情況下,沒什么問題,但是,如果這個回調被作為 prop 傳遞給 下級組件,這些組件可能需要額外的重復渲染。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM