sqlite3更新查询刷新电子渲染器进程

sqlite3 update query refreshes electron renderer process

我意识到,当我在 electron js 中使用带有 knex(带有 sqlite3)的更新查询时,查询完成后,渲染器进程会自动刷新! 例如:

index.html:

ipc.send('UpdateTheRow', {'Id': 1, 'Title': 'foo', 'Date': '01-01-2020'});

main.js

    ipcMain.on('UpdateTheRow', (event, newData)=>{
        knex('Products').where({id: newData.Id}).update({
            title: newData.Title,
            enter_date: newData.Date
        }).then(function (res) {
            console.log(res);
        });
    });

在 运行 更新请求后,控制台打印响应,但是 渲染器刷新!

换句话说,当我们做这样的事情时:

reaplce console.log in Main.js with:

indexPage.webContents.send("EditedTheRow", res);

并且在 index.html:

ipc.on('EditedTheRow', (event, response) => {
   alert('Updated');
}

查询运行良好,但我们在渲染器中没有收到任何警报

抱歉我的英语不好。

答案:

我的主要问题是几个框架的干扰!
我正在使用 sqlite3,所以数据库在我的 'root' 项目文件夹中保存为一个文件。
沿着这些,我正在使用一个 "Hot Reload" 框架来通知文件更改。
每次我使用更新、插入、删除等更改数据库的查询时,我的数据库文件都会更改,并且热重载器会刷新渲染器进程!