Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 电子,网页,反应。使用剪贴板时';财政司司长';没有定义_Javascript_Reactjs_Electron_Clipboard - Fatal编程技术网

Javascript 电子,网页,反应。使用剪贴板时';财政司司长';没有定义

Javascript 电子,网页,反应。使用剪贴板时';财政司司长';没有定义,javascript,reactjs,electron,clipboard,Javascript,Reactjs,Electron,Clipboard,所以我通过export electron\u START\u URL运行electron=http://localhost:8080 &&electron.在react/webpack/electron桌面应用程序中。我试图在粘贴组合键(ctrl+v)时从系统剪贴板读取 所以electron可以工作,我的菜单定义中没有启用复制粘贴快捷方式(我不打算使用菜单) 我正在尝试读取react应用程序中一个组件的按键组合…类似于: import React, { useState, useCallback

所以我通过
export electron\u START\u URL运行electron=http://localhost:8080 &&electron.
在react/webpack/electron桌面应用程序中。我试图在粘贴组合键(ctrl+v)时从系统剪贴板读取

所以electron可以工作,我的菜单定义中没有启用复制粘贴快捷方式(我不打算使用菜单)

我正在尝试读取react应用程序中一个组件的按键组合…类似于:

import React, { useState, useCallback, useEffect, useRef } from "react";

import {clipboard} from 'electron';

const Thing = (props) {

  const keyboardHandler = (e) => {
    if (e.keyCode === 86 && e.ctrlKey) {
      let pasted = clipboard.readText();
      console.log(pasted);
    }
  }

  useEffect(() => {
    window.addEventListener('keydown', keyboardHandler);
    // Remove event listeners on cleanup
    return () => {
      window.removeEventListener('keydown', keyboardHandler);
    };
  }, []);
 
  return <SomeComp onKeyDown={ (e) => keyBoardHandler(e)}/>

}

export default Thing;
编辑:这是我的main.js(electron)代码:

将“窗口”添加到require节点函数中,如下所示:

window.require('electron');
这对我很有效,希望您也能这样做。

将“窗口”添加到require节点函数中,如下所示:

window.require('electron');

这对我很有用,希望你也这样。

我想你在创建BrowserWindow时禁用了节点集成。我没有禁用它,它似乎是默认启用的。我已经更新了帖子,显示了我的main.js代码。你可以尝试显式启用nodeIntegration吗?我将其更改为
mainWindow=newbrowserwindow({width:700,height:210,frame:true,webPreferences:{nodeIntegration:true})它仍然为commonjs提供相同的errorChange导入语法。Try:const{clipboard}=require(“electron”);我认为您在创建BrowserWindow时禁用了节点集成。我没有禁用它,它似乎是默认启用的。我已经更新了帖子,显示了我的main.js代码。你可以尝试显式启用nodeIntegration吗?我将其更改为
mainWindow=newbrowserwindow({width:700,height:210,frame:true,webPreferences:{nodeIntegration:true})它仍然为commonjs提供相同的errorChange导入语法。Try:const{clipboard}=require(“electron”);
window.require('electron');