【发布时间】:2021-06-25 21:38:39
【问题描述】:
所以在 React 中,我正在使用 "react-firebase-hooks/database" 包读取 firebase 实时数据库。
import { useList } from "react-firebase-hooks/database";
import { db, auth } from "../../firebase";
function GameHistory() {
var dbRef = db.ref("/" + user.uid);
const [snapshots, loading, error] = useList(dbRef);
所以基本上快照变量包含所有firebase实时数据库数据。 然后稍后在我的代码中,我只是将快照数组的每个元素映射到一个组件中。
问题来了,我想按照数据中.timestamp firebase 属性的顺序对快照数据进行排序。我不知道该怎么做。
我在映射时尝试对快照数据进行排序:
snapshots
.sort((a, b) => {
return a.val().timestamp > b.val().timestamp;
})
.map((game, index) => (MORE CODE
但这不起作用,因为 timestamp 是一个 firebase 对象,而 JavaScript 不知道如何处理它。
只是为了在时间戳变量上建立更多上下文,我将其定义为:
timestamp: firebase.firestore.FieldValue.serverTimestamp()
那么有什么方法可以对我的快照数据进行排序吗?或者我应该使用另一个包?如果我应该使用其他东西,请显示您如何读取和排序实时数据库的代码。
【问题讨论】:
标签: reactjs firebase firebase-realtime-database react-hooks