[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
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论
主目录
与歌谣一起通关前端面试题