尝试从集合中访问collection helper时出现以下错误:
TypeError:无法读取未定义
的属性'username'
我的帮手/imports/api/.../TaskUser.js:
TaskUser.helpers({
username() {
Meteor.subscribe('users');
elUser = Meteor.users.findOne({_id:this.userId})
return (elUser.username)
}});
我的组件
renderResponsables(){
return this.props.TaskUsers.map((OneTaskUser) => (
<tr key= {resp._id} onClick={() => this.insert(OneTaskUser._id)}>
<td>{OneTaskUser.username()}</td>
</tr>
));
}
看起来像是同步问题...但我怎么知道它在客户端何时同步?我通常使用subscription.ready()
但是这里有一个助手,我不知道该怎么做。
答案 0 :(得分:1)
<强> Advice1:强> 首先添加以下包
meteor add msavin:mongol
然后运行程序并按&#34; ctrl + m&#34;它会显示数据库表和您订阅的数据。您可以查看您的数据是否已订阅。
<强>建议:2 强> 将您的订阅放在自动运行中的oncreated
中Template.Dashboard.onCreated(function(){
var self = this;
self.subscribe('users');
});
如果以上dosn工作,那么我需要检查您的用户表,如何创建它以及如何正确地从那里检索数据
答案 1 :(得分:0)
您是否检查了此https://guide.meteor.com/react.html#data。您应该使用提供名为react-meteor-data
的函数的withTracker
包。您的订阅应该进入它,您必须使用容器包装组件以传递数据。