mcpField
T
tanstack-hotkeys

tanstack-hotkeys

github.com/oakoss开发20170 次安装10 周前更新
代码仓库

关于 tanstack-hotkeys

TanStack Hotkeys 是面向 React 应用开发者的类型安全键盘快捷键库,提供快捷键钩子、序列处理、快捷键录制、按键状态跟踪和平台适配的显示格式。

主要功能

  1. 01类型安全的快捷键钩子
  2. 02跨平台 Mod 键抽象
  3. 03多键序列
  4. 04快捷键录制
  5. 05跟踪按住的按键及代码
  6. 06平台适配的快捷键格式

适用场景

  1. 01为 React 应用添加键盘快捷键
  2. 02录制用户自定义快捷键
  3. 03检测持续按下的修饰键
  4. 04实现 Vim 风格的按键序列

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oakoss/agent-skills --skill tanstack-hotkeys

安装后在 Claude Code 中输入/tanstack-hotkeys确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
formatting-and-display.md
react-hooks.md
sequences-and-recording.md

详细介绍

TanStack Hotkeys

概述

TanStack Hotkeys 是一个适用于 React 的类型安全键盘快捷键库,提供模板字符串绑定、跨平台的 Mod 键抽象(macOS 上为 Cmd,Windows/Linux 上为 Ctrl)以及适用于 SSR 的实用工具。它提供用于单个快捷键、多键序列、快捷键录制和实时按键状态跟踪的钩子,还支持感知平台的显示格式化。

适用场景: 为 React 应用添加键盘快捷键、录制用户自定义快捷键、检测按住的修饰键、显示特定平台的快捷键标签、实现 Vim 风格的按键序列。

不适用场景: 没有包装器的非 React 应用(虽然有核心包,但主要面向 React),需要完整按键映射管理的复杂输入处理(可考虑专用按键映射库)。

快速参考

模式API要点
单个快捷键useHotkeyMod 抽象 Cmd/Ctrl;组合键会自动阻止默认行为
多键序列useHotkeySequenceVim 风格序列,例如 g g;超时时间可配置
录制快捷键useHotkeyRecorder用户自定义快捷键;可开始、停止或取消录制
检测按住的按键useKeyHold获取特定按键的布尔状态;优化重新渲染
跟踪所有按住的按键useHeldKeys当前按下的按键名称数组
跟踪按住按键的代码useHeldKeyCodes按键名称到物理 event.code 值的映射
全局默认值HotkeysProvider为所有钩子设置默认选项;各钩子的选项会覆盖默认值
格式化以供显示formatForDisplay感知平台:macOS 符号与 Windows/Linux 文本
限定到元素target 选项 + ref目标元素需要设置 tabIndex 才能获得焦点
条件快捷键enabled 选项动态启用/禁用,无需卸载

常见错误

错误正确做法
限定目标元素缺少 tabIndex为使用 target ref 获取焦点的元素添加 tabIndex={-1}(或 0)
使用 Ctrl 而不是 Mod使用 Mod 以实现跨平台支持;它会映射为 Cmd(Mac)或 Ctrl(Win/Linux)
认为快捷键会在输入框内触发ignoreInputs 默认会智能检测;设为 false 可强制触发
未配置就重复注册快捷键设置 conflictBehavior: 'replace' 以覆盖,或设为 'error' 以捕获冲突
忘记 preventDefault 会自动启用修饰键组合会自动阻止默认行为;设置 preventDefault: false 可允许默认行为
使用 keyup 却未设置 requireReset将 eventType: 'keyup' 与 requireReset: true 配合使用,以便只触发一次

委派

如果有 tanstack-pacer 技能,请将节流和防抖任务委派给它。TanStack Pacer 适用于限制快捷键回调的触发频率。 否则,建议使用:pnpm dlx skills add oakoss/agent-skills -s tanstack-pacer -a claude-code -y

如果有 tanstack-devtools 技能,请将 DevTools 设置委派给它。 否则,建议使用:pnpm dlx skills add oakoss/agent-skills -s tanstack-devtools -a claude-code -y

  • 键盘快捷键和热键:使用此技能
  • 快捷键回调的节流/防抖:委派给 tanstack-pacer
  • DevTools 集成:委派给 tanstack-devtools

参考资料

评论

支持 Markdown