[react] 请说说什么是useImperativeHandle?
// useImperativeHandle 可以让你在使用 ref 时自定义暴露给父组件的实例值。
// useImperativeHandle 应当与 forwardRef 一起使用:
import React, { useImperativeHandle, forwardRef } from 'react'
import { useEffect } from 'react';
import { useRef } from 'react';
function FancyInput(props, ref) {
const inputRef = useRef();
useImperativeHandle(ref, () => ({
focus: () => {
inputRef.current.focus();
}
}));
return (<input ref={inputRef} />);
}
FancyInput = forwardRef(FancyInput);
const useImperativeHandleHook = () => {
const ref = useRef()
useEffect(() => {
console.log(ref)
ref.current.focus()
})
return (
<FancyInput ref={ref}/>
)
}
export default useImperativeHandleHook
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论
浙公网安备 33010602011771号