【发布时间】:2017-07-16 17:11:23
【问题描述】:
我正在研究 Meteor 和 React,我正在创建一个允许用户创建消息的小应用程序。很简单...但我无法摆脱加入集合。
我正在使用的是 publish-composite 来帮助我完成肮脏的工作,但我迷路了......
这是目前为止的代码:
messages.js:
import { Meteor } from 'meteor/meteor';
import { publishComposite } from 'meteor/reywood:publish-composite';
export const Messages = new Mongo.Collection('messages');
if (Meteor.isServer) {
publishComposite('messages', {
find() {
return Messages.find({}, {
sort: { createdAt: -1 }
});
},
children: [
{
find(message) {
return Meteor.users.find(
{ _id: message._author }
);
}
}
]
});
}
在我的 React 组件中,我创建了这个:
componentDidMount() {
this.messagesTracker = Tracker.autorun(() => {
Meteor.subscribe('messages');
const messages = Messages.find({}, {
sort: { createdAt: -1 }
}).fetch();
console.log(messages);
this.setState({ messages });
});
}
在 publish-composite 的文档中,我看到它使用 Template.topTenPosts.helpers 来获取数据,但我不知道如何使用 React 来模拟...
日志显示的只是没有任何用户信息的消息数据:
Object
createdAt:Sat Jul 15 2017 18:17:13 GMT+0200 (CEST)
message:"A message..."
_author:"6M8wNbt4Ff2YTN99u"
_id:"2gL2xKbWnduYqTHXk"
我怎样才能摆脱它?干杯
【问题讨论】: