useImperativeHandle可以讓父組件獲取并執(zhí)行子組件內(nèi)某些自定義函數(shù)(方法)。本質(zhì)上其實是子組件將自己內(nèi)部的函數(shù)(方法)通過useImperativeHandle添加到父組件中useRef定義的對象中。
注意:
1、useRef創(chuàng)建引用變量
2、React.forwardRef將引用變量傳遞給子組件
3、useImperativeHandle將子組件內(nèi)定義的函數(shù)作為屬性,添加到父組件中的ref對象上。
因此,如果想使用useImperativeHandle,那么還要結(jié)合useRef、React.forwardRef一起使用。