reactjs - 如何全局使用键盘快捷键

标签 reactjs keyboard-shortcuts

我使用 react-hotkeys 库。

我有这个:

class App extends React.Component {
  ...
  render(){
     return <Page />
  };

}

class Page extends React.Component {
   ...
   render(){
     return <DataTable />
   };
}

class DataTable extends React.Component {
   ...
   shortCutsKeymap = {
      'MOVE_NEXT_PAGE': ['right'],
      'MOVE_PREV_PAGE': ['left']
   };

   handleShortCuts = {
      'MOVE_NEXT_PAGE': (event) => {console.log('next')},
      'MOVE_PREV_PAGE': (event) => {console.log('prev')},
   };

   render(){
      return (
         <HotKeys keyMap={this.shortCutsKeymap} handlers={this.handleShortCuts}>
            ...
         </HotKeys>
      );
   };
}

快捷方式仅在我单击数据表时才起作用——也就是说,我设置了焦点。我需要键盘快捷键在我的应用程序中的任何位置工作,而无需单击数据表。

你能帮帮我吗?

最佳答案

我不确定您使用的是哪个版本的软件包。我安装的版本 react-hotkeys": "^2.0.0-pre3" 并且它有一个 GlobalHotKeys 组件,您可以像这样导出它:

import { GlobalHotKeys } from 'react-hotkeys'

你可以这样使用它:

<GlobalHotKeys keyMap={keyMap} handlers={handlers} />

关于reactjs - 如何全局使用键盘快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55647702/

相关文章:

java - Eclipse 中的 "syso"快捷方式 - 改变了一些行为

reactjs - 如何使用 React router dom v4 配置 webpack 开发服务器?

windows - 以编程方式找出窗口的键盘快捷键

javascript - 将包含一项的数组拆分为包含多项的数组

javascript - componentDidMount 中的函数未定义

java - Eclipse 优化导入以包括静态导入

windows - 如何删除 Anaconda 的键盘快捷键

python - Pyside(或 PyQt)全局快捷键

javascript - 使用返回函数和调用函数有什么区别

reactjs - 带有反应和 webpack 的 Electron