gpt4 book ai didi

javascript - 在 Electron + React 中创建由 MongoDB 支持的持久性 redux 状态

转载 作者:行者123 更新时间:2023-11-29 16:49:51 25 4
gpt4 key购买 nike

我有一个基于 react-electron-boilerplate 的应用程序,使用完全相同的一组模式。我的应用程序使用 mongodb对于持久层,连接到远程数据库以维护其状态。

要获得当前状态,我通常会在我的一个 Action Controller ( app/actions/<whatever>.js ) 中执行如下操作

export function stepForward(step, action) {
if (_.isUndefined(step)) {
step = db.collection('steps').findOne({ current: true }).index; // just an example
}
return {
type: STEP_FORWARD
};
}

但是,这并不一定要写入数据库。我想要的是保持一个持久状态,也就是说,只要状态发生变化,就将其写入数据库(是的,我知道这对于大型应用程序来说可能代价高昂)。

这可以用 redux 和 mongodb 实现吗?

最佳答案

虽然我是从 Ian 提到的 finalReducer 模式开始的,但事实证明使用 Redux 中间件要容易得多:

import {createStore, combineReducers, applyMiddleware} from 'redux'

const persist = store => next => action => {
next(action)
persistData(store.getState())
}

const store = createStore(<reducer>, undefined, applyMiddleware(persist))

关于javascript - 在 Electron + React 中创建由 MongoDB 支持的持久性 redux 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37120340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com