javascript - 如何在 React 组件中调用 minimize() 和 focus()?

标签 javascript node.js reactjs browserify electron

我有一个 Electron 示例应用程序可以最小化和最大化应用程序窗口,我想在 React 应用程序中做同样的事情。但是我如何在我的 React 组件中获取对主应用程序窗口的引用?

我的 main.js 程序包含:

const electron = require('electron');
const {BrowserWindow} = electron;
...
function createWindow() {
    // Create the browser window.
    mainWindow = new BrowserWindow({ width: 500, height: 300, 
                              frame: false, resizable: false });
    global.mainWindow = mainWindow;
    ...
}

在 Electron 示例中,我的 app/index.js 文件包含:

var remote = require('electron').remote;
...
remote.getGlobal("mainWindow").minimize();

在我的 React 示例中,我的 app/app.js 文件包含:

import React from 'react';
import ReactDOM from 'react-dom';
import AppContainer from './containers/app.container'

var remote = require('electron').remote;

但是在运行 watch 时我收到此错误消息:

npm run-script watch

> mydemo@1.0.0 watch /home/myname/nodejs/mydemo
> watchify app/app.js -t babelify -o public/js/bundle.js --debug --verbose

Error: Cannot find module 'electron' from '/home/myname/nodejs/mydemo/app'

我的问题:

  • 如何从 React 组件内部引用“远程”?
  • 是否有另一种引用主应用程序窗口的方法?

最佳答案

我自己解决了。此代码适用于 React 组件:

var remote = window.require('electron').remote;
remote.getGlobal("mainWindow").minimize();

关于javascript - 如何在 React 组件中调用 minimize() 和 focus()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39063187/

相关文章:

javascript - 我可以在加载由 jquery 附加的 iframe 后调用函数吗?

javascript - For 循环与用户输入 javascript

javascript - 如何在哈巴狗中添加带有引导下拉菜单的 glyphicon glyphicon-calendar?

node.js - mongodb查找计算字段

mysql - 如何使用 Node 的 Sequelize 更新记录?

javascript - 检测鼠标指针是否在伪元素之上?

javascript - websocket send(...) 是否保证消费?

reactjs - 测试自定义 Hook : Invariant Violation: could not find react-redux context value; please ensure the component is wrapped in a <Provider>

node.js - 在 React 上导入 Node 模块

javascript - 无法解析 '/images/img-2.jpg' 中的 'E:\React\react-demo\src'