首页 > 解决方案 > 如何处理 Electron 应用程序中的数据库查询(使用 react-redux)?

问题描述

我正在使用连接到 Sqlite 数据库的 React 和 Redux 构建一个 Electron 应用程序。我正在使用 knexjs 查询数据库。

目前在我的应用程序中,我正在使用 IPC 在渲染器进程和主进程之间进行通信。

// actions.js

export const fetchDecks = () => async (dispatch,getState) => {
    ipcRenderer.send('DECKS_REQ')
    ipcRenderer.on('DECKS_REP', (e,decks)=> {                           
        dispatch({type: FETCH_DECKS, payload: decks})
    })
}
// main.js

ipcMain.on('DECKS_REQ', (e) => {
    knex.select().from('decks').then((response) => {
        e.sender.send('DECKS_REP', response)        
    })        
})

为每个请求发送请求是一种好习惯吗?我应该如何在主进程中构建数据库访问?

标签: reactjssqlitereduxelectronknex.js

解决方案


除了将 ipc 位与您的 thunk 功能分离之外,我觉得您的方法是合理的。看看你是否可以“electron.remote”将你的对象导入渲染器端,因为它会使调试更容易。


推荐阅读