useActiveElement
React 跟踪 document.activeElement 的监听 hook
Usage
实时编辑器
function Demo() { const arr = [1, 2, 3, 4, 5, 6]; const activeElement = useActiveElement<HTMLElement>(); const key = useMemo(() => { return activeElement?.dataset?.id; }, [activeElement?.dataset?.id]); return ( <div> <p>选择下面的输入框以查看变化</p> <div style={{ display: "flex", gap: 15, flexWrap: "wrap" }}> {arr.map((i) => { return <input key={i} placeholder={`${i}`} data-id={i} />; })} </div> <br /> <div> 当前活动元素: <span> {activeElement?.tagName}</span> </div> <div> 当前活动元素的data-key: <span>{key}</span> </div> </div> ); }; render(<Demo/>)
结果
选择下面的输入框以查看变化
当前活动元素: BODY
当前活动元素的data-key:
API
useActiveElement
Returns
T | null: 返回类型参数 T 或 null 的实例