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> 當前活躍元素數據鍵: <span>{key}</span> </div> </div> ); }; render(<Demo/>)
結果
選擇下方的輸入框以查看變化
當前活躍元素: BODY
當前活躍元素數據鍵:
API
useActiveElement
Returns
T | null: 返回類型參數 T 或 null 的實例