javascript - React-Native/Firebase 插入并按时间戳排序

标签 javascript firebase react-native ecmascript-6

我最近一直在使用 React-Native 工作,因为我正在构建一个基本应用程序,您可以在其中拥有一个演出列表,每个演出都有一个关联的日期,该日期会作为时间戳插入到 Firebase 中。

我想检查一下,但是按日期对数组进行排序以便列表显示最新的最佳方法是什么?

componentWillMount() {
    this.props.gigsFetch();

    this.createDataSource(this.props);
}

componentWillReceiveProps(nextProps) {
    this.createDataSource(nextProps);
}

createDataSource({ gigs }) {
    const ds = new ListView.DataSource({
        rowHasChanged: (r1, r2) => r1 !== r2
    });

    this.dataSource = ds.cloneWithRows(gigs);
}


const mapStateToProps = state => {

    const sortedGigs = _.sortBy(state.gigs, 'date');

    const gigs = _.map(sortedGigs, (val, uid) => {
        return { ...val, uid };
    });

    return { gigs };
};

谢谢!

最佳答案

让 firebase 执行此操作,使用 firebase 查询

例如: 假设您想展示最新 10 场演出

firebase.database().ref('gigs/').orderByChild('date').limitToLast(10);

检查文档的 limitToFirst 和 limitToLast 部分 https://firebase.google.com/docs/database/web/lists-of-data

关于javascript - React-Native/Firebase 插入并按时间戳排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42991199/

相关文章:

javascript - 使用 Karma 和 Mocha.js 对多个用例进行单元测试

javascript - Angular Material $mdDialog 与第二位保持者

android - PubNub 推送通知在 Android 上发送错误数据

android - Firebase FCM 推送,获取错误缺少注册 |安卓

react-native - 创建 React Native 应用程序。 - 插件/预设文件不允许导出对象,只能导出功能

javascript - 滚动位置> 0后如何平滑向下滚动到元素?

firebase - 如何在flutter中使用firebase电话身份验证中的forceResendingToken来重新发送otp

javascript - 如何在 Jest 测试中模拟 StatusBarManager.getHeight?

firebase - 当 native 应用程序为 "backgrounded"时,是否应该删除 Firebase 监听器?

javascript - 使用嵌套 Div 对 Jquery 显示/隐藏进行故障排除