FirebaseExtended / FirebaseExtended/reactfire

useFirestoreCollection triggers a double render

オープン
#484 コメント 4 件 リアクション 2 件 担当者 0 名 GitHub で見る
v5
主要言語
TypeScript
スター
3.6k
フォーク
403
平均マージ
14時間 53分
マージ済み PR(30日)
5

説明

Hi,

Seems like `useFirestoreCollection` always triggers unnecessary render when fetching data (suspense is **on**). Similar behavior is also the case for `useUser`.
There's a chance I'm simply using the API wrong, so please advise if so :)

### Version info

**React:** 17.0.2

**Firebase:** 9.1.3

**ReactFire:** 4.2.0

### Test case

```javascript
const q = /* whatever query */;
const queryResults = useFirestoreCollection(q);
console.log(queryResults);

```

### Expected behavior

`console.log` is called once.

### Actual behavior

`console.log` is called twice.

Ultimately, what I'm trying to achieve is a code similar to the one below

```javascript
const queryResults = useFirestoreCollection(query);
return queryResults.data.docs.map((d) => /* render */);
```

that renders only once when the data is fetched (and then only when there're changes in the collection).

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。