在 React 中,将获取的 Firebase 数据存储在本地还是全局状态?

Posted

技术标签:

【中文标题】在 React 中,将获取的 Firebase 数据存储在本地还是全局状态?【英文标题】:In React, store fetched Firebase data in local or global state? 【发布时间】:2018-02-24 00:56:42 【问题描述】:

我正在为处理出租房间的小企业构建管理仪表板。他们只有 6 个房间,所以我不需要大数据库。我为此使用 Firebase。我的问题是,我是否应该在我的 App.js 组件中有一个大状态,在 componentWillMount 中使用 Firebase 上的 .on 方法,它将数据库同步到单个状态并将这些更改与道具传递到不同的部分,或者我应该分别从每个组件中的 firebase 获取数据并将它们存储在本地状态?哪一个是更好的做法?双方各有优劣吗?

谢谢,巴拉兹

PS.:我计划实施反应路由器,以便能够轻松链接到仪表板的不同部分。这有什么改变吗?

【问题讨论】:

【参考方案1】:

我只会在容器组件中获取一次数据,然后通过 props 将其传递给子组件。

此外,应根据反应docs 在componentDidMount 中获取数据

最后,即使您的应用程序相对较小,查看 Redux 来管理您的状态可能会有所帮助,这有望帮助您组织数据和调试代码。

祝你好运!

【讨论】:

以上是关于在 React 中,将获取的 Firebase 数据存储在本地还是全局状态?的主要内容,如果未能解决你的问题,请参考以下文章

ReactFire - 将 Firebase 绑定到 React 状态时,获取“对象作为 React 子项无效”

Firebase 实时数据库获取函数返回未定义(较新的 firebase 版本,2021) - 使用 React Native

React Redux Firebase 无法获取 firebase.storage

为啥我没有在我的 react 应用程序中获取 firebase 存储文件 url?

Firebase React Native获取数据

Firebase React Native——如何获取和传输设备 ID/令牌?