ReactNative踩坑日志——OnPress隨着render()執行被自動調用?


    在ReactNative中,Text、Button以及其他Touchable包裝成的可點擊控件,都可以通過onPress屬性為其指定點擊時的響應函數。

    在有些情況下,我們會把這些點擊函數先定義好,然后再為控件的onPress屬性賦值為對應函數名。然而這個時候,問題就出來了:

    一:有bug的用法

<Button
  onPress={方法名}/>

    當這樣為onPress屬性指定響應方法時,會出現隨着控件的渲染而自動調用響應函數的情況。

    原因:

    在RN的頁面代碼中,花括號 {} 有取對象值的意思在內,而方法也是對象的一種,因此,這里並不單單是為onPress指定屬性值那么簡單,在賦值的同時還自動調用了一次該響應方法。

 

    二:正確的用法

    使用箭頭函數為onPress定義響應函數,箭頭函數內調用對應的響應函數即可。

<Button
  onPress={()=>{
               點擊事件的響應函數
               }
          }/>

 


免責聲明!

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



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