在Meteor React app中使用Mongo集合时,返回一个空数组[]。 我正在使用Github的" react-meteor-template" 。
我宣布了
帖子=新的Mongo.Collection("帖子");
在Collection.js文件中。
以下是我获取空数组[]数据
的地方ReadPost = React.createClass({
mixins: [ReactMeteorData],
getMeteorData() {
return {
postsLoading: Posts.find().fetch()
}
},
render() {
let { postsLoading } = this.data;
console.log(postsLoading);
return (
<div className="container">
{
postsLoading.map((post) => {
return (
<div key={post._id} className="col-sm-6 col-sm-offset-3" style={{'marginBottom':"30px", padding: "20px", background: "#FFBABA"}}>
<p>Reading post {this.props.postName}</p>
<h1 style={{display: "inline"}}>{post.title}</h1>
</div>
)
})
}
</div>
)
}
});
答案 0 :(得分:0)
虽然我们倾向于使用带有blaze / iron:router的路由/模板订阅,但我们通常会订阅Blaze中的组件。
以下是我们在其中一个项目中使用的一段代码:
getMeteorData() {
let subscription = Meteor.subscribe('usersList', this.state.limit);
return {
subscription: subscription.ready(),
users: Meteor.users.find({}, {sort: {createdAt: -1}}).fetch()
};
}
您现在可以在render()
中检查订阅准备情况,并且通常应该加载数据。请注意,如果您愿意,仍然可以从flow-router订阅。