I'm having an issue that every ipcRenderer.send call cause a re-render
every time I call window.electron.ipcRenderer.send('x', ...) the render prcess get's re-redered causing an "infinite loop" kind feel
I have an App.tsx file that looks like so
return (
<>
<Row rowId={1} />
<Row rowId={2} startRange={10} endRange={20} />
<Row rowId={3} startRange={20} endRange={30} />
</>
)
a Row.tsx
function Row({ startRange = 0, endRange = 0, rowId }) {
const [isHovered, setHovered] = useState(false)
function handleMouseEnter() {
setHovered(true)
window.electron.ipcRenderer.send('openModal', rowId)
}
function handleMouseLeave() {
setHovered(false)
window.electron.ipcRenderer.send('closeModal', rowId)
}
return (
<div
className={`row ${isHovered ? 'hovered' : ''}`}
onMouseEnter={handleMouseEnter}
onMouseLeave={handleMouseLeave}
>
...
</div>
)
}
my main process index.js
ipcMain.on('openModal', (_, x) => {
// do something
})
ipcMain.on('closeModal', (_, x) => {
// do something
})
what am I doing wrong ?