參考Hooks

useKeyPress

GitHub 上的原始碼

此 hook 可讓您監聽特定的按鍵碼,並告知您目前是否已按下這些按鍵。

import { useKeyPress } from '@xyflow/react';
 
export default function () {
  const spacePressed = useKeyPress('Space');
  const cmdAndSPressed = useKeyPress(['Meta+s', 'Strg+s']);
 
  return (
    <div>
      {spacePressed && <p>Space pressed!</p>}
      {cmdAndSPressed && <p>Cmd + S pressed!</p>}
    </div>
  );
}

簽名

#keyCode
字串 | 字串[] | null
可以使用字串來表示單一按鍵碼(例如 "Space"),或是按鍵組合(例如 "Meta+s")。如果您傳入字串陣列,則可以使用多個按鍵碼來切換 hook。
#options
物件
#options.target
Window | Document | HTMLElement | ShadowRoot | null
您可能希望監聽特定元素上的按鍵按下。此欄位可讓您設定此功能!
#options.actInsideInputWithModifier
布林值
您可以使用此旗標來防止在輸入欄位取得焦點時觸發按鍵按下 hook。
true
#傳回值
布林值

注意事項

  • 此 hook 不依賴 ReactFlowInstance,因此您可以自由地在應用程式中的任何位置使用它!