在Redux / React应用程序中是否有一个数据库的位置



在构建redux/react应用程序时,您是否仍然需要使用数据库来存储数据,还是可以将所有内容都放入redux存储中?

如果需要一个数据库,在哪里进行数据库调用是最好的?

是的,通常存在对状态数据进行序列化和反序列化的情况。这有很多用途,不仅可以在会话或页面刷新之间保持状态,还可以提供查询工具,帮助应用程序使用数据。

如果您的应用程序是连接的,那么它可以很好地访问远程端点,这些端点将为您处理数据存储。在这种情况下,服务器端数据库(如mongodb、rethinkdb或sqlserver)是通常的前进方式

如果你谈论的是一个断开连接的,只有浏览器的应用程序,那么你总是可以序列化你的状态到localStorage。我经常这样做,我通常编写一个简单的facade,允许我"查询"本地数据。如果你需要一个更强大的本地数据库,那么有像localStorageDB这样的包可以帮助你。

下面的一些代码显示了这是多么容易:

db.js

这是位于我使用的本地存储包store

前面的facade
import store from 'store'
const clear = (key) => {
  if (key) {
    return store.remove(key)
  }
  store.clear()
}
const get = (key, defaultValue) => {
  return store.get(key) || defaultValue
}
const set = (key, value) => {
  store.set(key, value)
}
export { clear, get, set }

transactions.js

这是db的一个示例用法。这里我得到,设置和清除transactions

的集合
import * as db from './db'
const clear = () => {
  db.clear('transactions')
}
const transactions = value => {
  if (value) {
    db.set('transactions', value)
  } else {
    return db.get('transactions', [])
  }
}
export { clear, transactions }

相关内容

最新更新