问题标签 [redux-firestore]

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 回答
496 浏览

redux - Redux 顺序调度动作

我正在为我的网站构建随机匹配功能。在 startMatching Redux 动作结束时,如果匹配成功,我想在调度 MATCHING_SUCCESS 之前调度另一个名为 startConversation 的动作。startConversation 操作用于创建或更新 2 个用户之间的聊天历史记录,并将在最后发送存储聊天历史记录作为有效负载的 firestore 文档的 id。由于 (1) startConversation 在 MATCHING_SUCCESS 之前调度并且 (2) startConversation 调度聊天历史文档的 id,我可以在我的 Redux 状态中创建一个名为 chatid 的字段,以便在匹配成功完成后访问文档的 id 并使用它生成类似聊天窗口的东西。

我一直在用一个应该成功完成匹配的案例来测试代码。我遇到的问题是第一次调度(startConversation)在第二次调度(MATCHING_SUCCESS)完成后完成。之所以知道这一点,是因为我把console.log放在了MatchingBox组件的componentDidUpdate方法中,并且放在startConversation动作的最后,而前者的console.log比后者更早执行,也就是说MATCHING_SUCCESS在startConversation之前已经完成了调度这会导致 Redux 状态发生变化,从而影响组件。实际上,MatchingBox 组件状态中的 buddy 和 loading 字段已更新,而 chatid 仍为空字符串。我不希望这种情况发生,因为如您所见,我需要将 chatid 进一步向下传递给 MatchingWindow 组件。

这让我很困惑:毕竟,Redux 不是同步的吗?此外,我尝试使用“then”链接 2 个调度,并且 startConversation 仍然在 MATCHING_SUCCESS 之后完成调度。我想知道如何解决这个问题。非常感谢您的耐心等待!

Redux 操作

Redux 减速器

匹配框组件

0 投票
1 回答
114 浏览

reactjs - 对象()不是redux firebase中的函数反应

TypeError: Object(...) is not a function in reactjs while implementation firebase https://www.youtube.com/watch?v=gf5bVfVlNUM&list=PL4cUxeGkcC9iWstfXntcj8f-dFZ4UtlN3&index=17使用了本教程,但随后浏览器 出现错误

错误

代码:

0 投票
1 回答
52 浏览

javascript - 我的 firebase 查询调用没有得到我的文档,即使它存在

我正在使用 reactjs,我的数据库是 firebase。

我正在尝试发送一个群组的邀请。传递给函数的变量是组的 id (groupID)、组的名称 (groupName)(不用于检查但传递给邀请函数)以及被邀请者的电子邮件地址 (invite)。它检查邀请是否已经存在,如果不存在,它会调用邀请代码,如果不存在,它只会发送一个警报,说明用户已经有一个邀请。这是我的检查代码:

问题是它实际上并没有抓住任何东西并且总是发送邀请。这是我的数据库的设置方式:在此处输入图像描述

0 投票
2 回答
548 浏览

reactjs - Firestore 延迟在用户集合中创建新文档

我希望有人可以帮助我解决这个问题。

我目前正在开发一个项目,在该项目中我使用 firebase 创建新用户。因此,当有人注册一个新用户时,firebase 会创建一个新用户,然后它会向 firestore 发送一个承诺,因此它可以在名为“users”的集合中创建一个新文档,这样我就可以访问一些用户数据,例如名称,姓氏和缩写。

我的问题是,当我注册一个新用户时,该帐户会立即在 firebase 中创建,但是使用 firestore 中的用户数据创建一个新文档需要很长时间。当我说很长时,我的意思是 10 分钟、20 分钟甚至更长。因此,使用未定义的数据创建一个帐户,直到 firestore 决定创建新文档。

所描述的过程如下面的代码所示:

我使用 redux-firestore 和 react-redux-firebase 作为依赖项将我的项目连接到 firebase。但这似乎不是问题,因为firestore可以无缝地用于项目的其他功能,例如在最终创建文档时向用户添加和删除新数据,或者当我尝试删除用户时,它也可以正常工作.

所以,如果有人能找到这个延迟的解释并帮助我克服这个问题,我会很高兴。

0 投票
1 回答
996 浏览

firebase - redux-firestore 监听器错误:FirebaseError:缺少或权限不足。?

我是firebase的新手,我在控制台中有一个错误,我真的不知道它的来源:

我不知道这是否足以解释我的问题,但因为我是新手firebasefirestore我无法解释更多或带一些代码,一切正常,但突然我得到这个错误,可能是什么来源那个错误??如何解决?

0 投票
0 回答
35 浏览

firebase - 在没有身份验证的情况下设置 Firestore,但使用(密钥,签名)数据

我想在我的网络应用程序中设置一个 firestore-redux 集成,但不是使用身份验证通过电子邮件进行身份验证并定义“用户”集合,而是想知道用户是否可以使用他的私钥签署消息并将哈希存储为firebase的“auth.uid”?示例:而不是像这样使用身份验证配置:

而不是像这样设置安全规则:

我们可以有一个自定义配置,其中文档密钥是用户的公钥,使用用户私钥的签名哈希在安全规则(用于读取和写入)中验证?

当使用基于以太坊(区块链)帐户的身份验证进行 Firebase 存储时,这将是相关的,而不是通常的基于电子邮件的。

0 投票
1 回答
108 浏览

dynamic - 通过添加具有“动态名称”的新字段来更新 Firestore 文档的语法 (React-Redux)

我正在尝试通过添加一个新的“问题数组”(包含数组内部问题的详细信息)来更新 Firestore 文档。

我想在 firestore 文档中命名这个新的“字段”,以遵循一致的命名约定,其值会随着文档中问题数组的数量而动态变化。

即在文档中添加第 5 个问题数组将采用文档中的当前问题数 (4) 并将其添加 1(使 5)。然后它会将此值附加到正在创建的新字段的实际名称(即'question/+(5)/ = [question details]。下面的代码可能会阐明我要完成的工作。

0 投票
0 回答
191 浏览

reactjs - 如何使用 react redux 和 firebase connect 更改帖子中的评论

我正在尝试克隆 instagram,目前我被困在评论部分,当我尝试添加评论时,所有帖子都会添加相同的评论。我将我的评论存储在 Firestore 中,并且它被正确保存,但我无法弄清楚如何管理状态,以便只有那些帖子应该反映添加评论的更改。

这是 showcomments 组件的以下代码,它将在另一个组件中使用。谁能帮我解决这个问题。

0 投票
0 回答
106 浏览

reactjs - 为什么会出现firebase授权错误?

我不明白为什么我有这个错误:

例如,当我在登录时输入了正确的电子邮件和错误的密码,或者当我使用已在使用的电子邮件注册新用户时,就会发生这种情况。

这是在我的火力基地上设置的规则: 火力基地规则

另外举个例子,我给出了 Login 组件的一部分:

请帮助... 捕获有关错误密码的错误,但也在控制台中输入了这篇文章中指定的错误。

0 投票
0 回答
261 浏览

reactjs - React Redux Firebase + Firestore - 迁移后无法使用数据读取 userProfile 集合

目前,我一直在将我的 firebase 应用程序从实时数据库移动到云 Firestore。为此,我有两个独立的 firebase 项目:

  • 我的项目 <- 我的应用程序使用的当前项目
  • my-project-firestore <- 我要迁移到的项目

我从当前项目中导出了所有用户并将它们导入回新项目。

目前我的react-redux-firebase配置看起来像这样

它使用户配置文件被保存到路径下的实时数据库/users 现在我使用这样的python脚本将此路径下的所有文档移动到云firestore数据库中的同一路径

所以现在理论上我应该在两个数据库中拥有关于用户及其个人资料的相同状态的数据。

我添加了redux-firestore依赖项

我在我的反应应用程序中更改了一些代码

在我使用我的 gmail 帐户登录我的应用程序后,假设在 firebase 中有一些 id qWertYzAbcdEfhJijk,当我尝试从路径下的 firestore 获取所有文档时,/users我只能获取当有人使用新配置登录我的应用程序时创建的文档. 它没有看到我迁移的所有用户数据

结果仅包含一项

并且不包含我从旧数据库迁移的所有文档,即使它们看起来相同

为什么会发生以及如何解决?

编辑:也许这张照片可以帮助更好地理解我的问题是什么

在此处输入图像描述

编辑:我注意到当我将react-redux-firebase配置更改为指向其他路径时

突然它能够/users在我的组件中正确读取