问题标签 [react-redux-firebase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
226 浏览

javascript - history.push 添加新记录时重新加载页面很慢

我对 react 和 redux 很陌生,所以这可能是一个愚蠢的问题,但无论如何我都会问,因为它让我发疯,我想解决它:

我有一个 LIST 页面,其中显示了 Firebase Firestore 的记录列表。我正在使用 react-redux-firestore 将该列表作为连接状态对象加载。在 Firestore 数据库中加载包含大约 325 条记录的页面大约需要 1.5 秒。我可以实现分页或类似的功能,因为会有一些包含更多记录的表,但现在这就是我所拥有的。

在 LIST 页面上,我有一个按钮,它执行 history.push 到 NEWRECORD 页面,用户可以在其中将值输入表单并单击 SAVE。单击 SAVE 时,将调用添加记录 (redux) 操作并将记录保存到 Firebase。所有这一切都很好 - 到目前为止没有问题。问题将在下一步中查看。保存后,相同的单击处理程序会执行 history.push 回到 LIST 页面。浏览器会重定向到页面,新创建的记录会立即显示,但需要 8-10 秒才能呈现其余记录。这非常烦人,并且看起来所有记录都以某种方式被删除了几秒钟。

所以我很想有人解释为什么重新渲染需要比初始加载更长的时间,以及如何改进我确信必须有可能的事情。

谢谢

0 投票
1 回答
193 浏览

reactjs - firestoreConnect 查询 - 您只能对 null 执行相等比较(通过 whereEqualTo )

我从过去 2 天开始就被这个问题所困扰,现在我决定在这里发布它。我不知道出了什么问题以及在哪里。一切似乎都很好,并且在我使用 where 查询的屏幕上工作,但是当我移动到另一个屏幕并尝试从应用程序注销时,会弹出此错误。

反应本机firebaseconnect错误

这是我的 Firestore 集合结构:

反应本机firebaseconnect错误

现在这是我为实现这一目标而编写的代码:

0 投票
1 回答
387 浏览

firebase - React-redux-firebase 填充不起作用

我尝试使用 populate 将我的数据中的 ID 替换为 Firebase 中的其他数据,但它不起作用。

我使用“firebase”:“^7.3.0”、“react-redux-firebase”:“^3.0.5”、“redux”:“^4.0.4”、“react-redux”:“^7.1.3 ", "redux-thunk": "^2.3.0".

我的firebase db 点击显示

应用程序.js

配置.js

Food.js(在这个组件中我使用填充)

我希望关键的“营养素”将返回对象而不是 ID 号:

0 投票
1 回答
201 浏览

javascript - TypeError:中间件不是函数错误 | React Redux Firebase v3 迁移指南

我正在使用这些包,但是当我react使用create-react-app. 我有以下软件包。你能解释一下我在这里缺少什么吗? 帮助

也查看了本指南

图片显示错误

index.js

createReduxStore.js

rootReducer.js

解决方案

0 投票
1 回答
209 浏览

javascript - 在使用来自 firebase 的新数据刷新之前清除反应状态字段

在此处输入图像描述

屏幕截图来自控制台中的 State.Firestore.ordered.trainings。假设 exampleA.js 有以下代码

而 exampleB.js 有以下代码

当我第一次加载 exampleA.js 时,训练数据是从数据库(Firestore)中随机加载的,如图上部所示并突出显示。

但是,当我移动到 exampleB.js 时,我需要按 dateTime 的升序加载训练数据并按 trainingName 过滤,如图底部所示。

问题是当它加载 exampleB.js 时,数据的随机顺序将首先呈现一段时间(因为它们已经在 exampleA.js 的先前加载中的 state.firestore.ordered.training 中),然后再排序/ 呈现过滤数据的升序。

这真的给了糟糕的用户交互体验,我不知道如何解决它。每次移动到新页面时,有什么方法可以删除/清除 state.firestore.ordered 中的数据?或者有没有办法延迟渲染直到 state.firestore.unordered.data 完全更新?先感谢您!

0 投票
1 回答
216 浏览

reactjs - 在获取数据时对 redux firestore mapStateToProps 问题做出反应

我陷入了一个非常奇怪的问题,问题是我正在收集这样的 Firestore

当我在 mapStateToProps 函数中使用 console.log 时,我可以看到具有值的 firebaseProjects 对象,但是当我在组件代码 this.props 中使用 console.log 时,我看到 firebaseProjects : undefined 。我应该怎么办?我想设置具有来自 firestore 的 firebaseProjects 数据的组件的道具。 控制台结果是 在此处输入图像描述

0 投票
3 回答
2579 浏览

reactjs - Object(...) 不是 applyMiddleware(thunk.withExtraArgument({ getFirebase, getFirestore })) 的函数错误

我的项目中出现错误,当我想使用我的 CreateProject 反应组件动态添加数据时,我使用 React/Redux/Firebase 工具创建它我收到此错误:× TypeError: Object(...) is not a function

index.js

projectAction.js

感谢您的帮助

0 投票
0 回答
159 浏览

reactjs - react-redux-firebase 没有在 Firestore 上正确存储 providerData

我正在使用实时数据库,现在正在迁移以使用 Firestore。以前,我将 my 存储providerData为一个数组,因为一个帐户可以分配多个提供程序。现在,我正在尝试为 Firestore 保留相同的结构,但它不会将providerData对象存储在数组中。

我看到了一些关于 Firestore 如何不允许自定义对象的评论,并且已经将 Firebase 对象转换为 Javascript 纯对象。

我的 profileFactory 目前是这样的:

在 Firestore 上,我test正确填充了该字段,但该providerData字段设置为一个包含一个空对象的数组。

这些是版本:

是否可以设置为提供者数组,或者我需要为我的应用程序接受的每个提供者创建一个提供者字段?

0 投票
0 回答
59 浏览

reactjs - firestoreconnect中是否有任何查询反应js redux firebase

我想知道是否有任何我们可以使用的查询我有这个代码

我努力了

在哪里

如您在代码中看到的那样,在查询和查询中我使用了“user.uid”,并且我使用了项目集合中唯一存在的 authorId。我想查看特定作者添加的特定项目。在使用我看到这个错误的地方之后

FirebaseError:函数 Query.where() 需要有效的第三个参数,但它未定义。

0 投票
1 回答
491 浏览

reactjs - React-Redux-Firebase 新钩子

我已经设置了 redux 并做出了反应,它们运行良好。我现在想使用钩子 useFirestoreConnect 和 useFirestore() 将来自 firestore 的数据直接同步到 redux 状态。

此代码有效:

在控制台中打印带有 {BannerG: {H1: blah, H2:Blah blah, …………}} 的对象

但如果我改为使用

当我运行时,返回一个错误,指出 BannerG 未定义。如果我尝试使用以后的一个,aa.BannerG.H1 也会给出错误

任何人都有解决这个问题的想法?