我有一个记笔记应用程序,允许用户添加备注。我正在尝试在主页上渲染新创建的笔记,但是当我转到添加笔记并添加笔记时,然后返回主页,它会显示新笔记(限制为10)但是新笔记是刚刚创建的位于列表的底部,而不是顶部。当我刷新页面时,它会像我想要的那样到达顶部。我如何才能获得它以便我不必刷新页面以将新创建的音符放在顶部?
我尝试使用时间戳排序(使用Date.parse(new Date())
),然后使用此服务器从服务器发布,
Meteor.publish('notes-newest', function () {
return Notes.find({},{sort: {createdAt: -1}, limit: 10});
});
以下是我尝试渲染的地方:
componentDidMount() {
Meteor.subscribe('notes-newest')
this.tracker = Tracker.autorun(() => {
const notes = Notes.find().fetch()
if(notes == null || notes == undefined){
return;
}
this.setState({ notes });
console.log(notes);
})
}
答案 0 :(得分:1)
您还需要在客户端上进行排序。
this.tracker = Tracker.autorun(() => {
const notes = Notes.find({},{sort: {createdAt: -1}).fetch()
答案 1 :(得分:0)
如果你仍然没有得到你想要的数据,那么你可以尝试下面的代码
this.tracker = Tracker.autorun(() => {
const notes = Notes.find({},{sort: {createdAt: -1}).fetch()
var data = notes.reverse()
您将在显示
时按降序获取数据