React-Native / Firebase按时间戳

时间:2017-03-24 04:02:50

标签: 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 };
};

谢谢!

1 个答案:

答案 0 :(得分:2)

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

代表: 说你想展示最新的10场演出

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

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