我试图通过内置的上下文桥调用 IPCrenderer 并收到以下错误:
Property 'electron' does not exist on type 'Window & typeof globalThis'. Did you mean 'Electron'?
我已经添加了顺风 CSS,但无法想象这会导致这里出现问题。下面是我的代码。
应用程序.tsx
import { MemoryRouter as Router, Switch, Route } from 'react-router-dom';
import './App.global.css';
const Login = () => {
const handleButtonClick = () => {
window.electron.ipcRenderer.onButtonClick('Button Clicked');
};
return (
<div>
<button
type="button"
onClick={handleButtonClick}
className="bg-black text-white p-2 font-bold rounded-xl shadow-xl outline-none hover:bg-gray-500 transform hover:scale-110"
>
Login >
</button>
</div>
);
};
export default function App() {
return (
<Router>
<Switch>
<Route path="/" component={Login} />
</Switch>
</Router>
);
}
main.tsx(在事件监听器部分添加的代码片段)
ipcMain.on('button-example', (arg) => {
console.log(arg);
});
preload.js
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('electron', {
ipcRenderer: {
onButtonClick() {
ipcRenderer.send('button-example', 'Button Clicked');
},
},
});
有关此主题的任何指导都会有所帮助。