FirebaseExtended / FirebaseExtended/reactfire

[realtime database] concurrent queries on the same path don't work

未关闭
#515 2 条评论 1 个 reaction 已指派 1 人 已被 @jhuleatt 认领 在 GitHub 查看
v5
主要语言
TypeScript
星标
3.6k
派生
403
平均合并
14 小时 53 分钟
30 天内合并 PR
5

描述

Whenever I have multiple react components that reference the same path (.e.g `/users`), the library seems to get the results mixed up. In my project, I had a navbar element that displayed an "Admin" button if the user is an admin, and a table that shows all of the users, with some cursor-based pagination. Between those components, only the last query would yield any results. Switching to the second page and back to the first yields zero results, even though the queries passed in are the same (I verified this in the debugger).

As part of my troubleshooting, I tried using `get()` directly from `firebase/database` instead of using `reactfire`, and I had the same issue. This lead me to believe that the root cause comes from `firebase-js-sdk` instead of `reactfire`. I found the following issue logged there, but it's been open since February with no fix yet. https://github.com/firebase/firebase-js-sdk/issues/6038

I'm not sure if this should be logged in this project, but it pretty much means this library is completely broken for any real-life applications when using realtime database.

### Version info

**React:** 17.0.2

**Firebase:** 9.8.1

**ReactFire:** 4.2.0

**Other (e.g. Node, browser, operating system) (if applicable):** Chrome 101.0.4951.54

### Test case
https://codesandbox.io/s/reactfire-repro-4p16yo

### Steps to reproduce
The test case shows that the three queries do not work at the same time. The last loaded table seems to take precedence. If you comment out any of the tables and reload the page, you should be able to see that each query works independently.

I've also seen an issue where sometimes the data doesn't come back at all, but I don't have a repro for that yet.

### Expected behavior
Multiple queries on the same page should be able to produce different outputs

### Actual behavior
Multiple queries on the same page all produce the same output, or no output at all.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。