Redux / React应用程序中是否存在数据库的位置?

时间:2016-11-01 11:51:42

标签: reactjs redux

在构建redux / react应用程序时,您是否仍然需要使用数据库来存储数据,还是只需进入redux存储就可以了?

如果需要数据库,哪里是调用数据库的最佳位置?

1 个答案:

答案 0 :(得分:0)

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

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

如果您正在谈论断开连接的仅限浏览器的应用,那么您始终可以将状态序列化为localStorage。我经常这样做,我通常写一个简单的外观,让我可以查询'本地数据。如果你需要一个更强大的本地数据库,那么有localStorageDB这样的包可以提供帮助。

以下是一些代码,显示了这是多么容易:

<强> db.js

这是一个位于我使用的名为store

的localstorage包前面的外观
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 }