如何理解 React 应用的数据存储?
Posted
技术标签:
【中文标题】如何理解 React 应用的数据存储?【英文标题】:How to understand data storage for a React app? 【发布时间】:2021-11-12 03:52:37 【问题描述】:我正在学习 Web 开发,并计划使用 React 开发一个简单的 Web 应用程序:决策矩阵工具。我需要用户能够登录并将他们的矩阵保存在他们的个人资料下,所以我更喜欢不使用 LocalStorage,从而了解更多关于数据库的信息。我正在考虑使用 JSON 作为数据格式,我还需要存储用于登录的基本用户数据及其个人资料。我想知道如何处理这样的项目,因为到目前为止我只使用 GitHub Pages 来托管我的静态网站。对于这样一个小型项目,我通过谷歌搜索发现的大部分内容似乎令人困惑或无关紧要。 我的问题是:
-
存储、访问和编辑 JSON 数据以及 Web 应用程序的用户数据的最简单方法是什么?
是否有任何简单的数据库可以与应用程序文件一起“托管”在服务器上?不确定这个问题是否有意义,但我不明白数据库在哪里。
您会推荐哪些文章或资源来了解数据存储的概念?
【问题讨论】:
看看Supabase
,这是firebase
的开源替代品。另外,如果你使用 NextJS,next-auth 很容易设置身份验证,你可以创建 api 来使用它执行后端任务,并将 MongoDB 实例(或任何其他数据库)与它连接。
如果我在本地开发应用程序时使用 MongoDB,当我将应用程序部署在服务器上时,它将如何工作?我需要先在服务器上安装MongoDB吗?
MongoDB 是数据库,您可以在开发时拥有它的本地副本,或者您可以从 atlas 免费(512MB)创建一个 MongoDB 实例进行开发,他们提供了一个链接,您可以下载一个类似 ORM mongoose 与之交互。因此,如果您不想更改 url,它是您的选择。我没有在 prod 中使用过 MongoDB。但就个人而言,我认为您最好选择 Firebase 或类似的东西
好吧,这是有道理的。谢谢@AnkushVerma
【参考方案1】:
理想情况下,您希望使用任何语言/框架(例如 nodejs、java、django、php 等)创建后端服务器,并通过 APIs 公开所需的数据。但是,如果您不想创建单独的后端应用程序,您可以使用 Firebase 数据库 Firestore 来保存和获取所有需要的数据。您甚至可以使用 Firebase 托管来部署您的应用。此外,firebase 也有他们的Authentication 服务,您可以利用它来对您的应用进行身份验证。
【讨论】:
以上是关于如何理解 React 应用的数据存储?的主要内容,如果未能解决你的问题,请参考以下文章
将原生 iOS 应用的数据迁移到 React Native 应用的异步存储
如何获取数据并存储在 React Context API 中?
React.js Chrome 扩展 - 如何将 Background.js 中的数据存储在 React 内部的变量中?
Rails+React/Next.js:如何存储代码块以保持格式化?