跳到主要内容

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: 返回类型参数 Tnull 的实例

Arguments

ads via Carbon