我如何从订阅中创建PostList类组件渲染,我真的没有得到withtracker函数,我用Google搜索,我找到了不同的版本,但我无法弄清楚它是否正常工作,我做错了什么,我应该怎么做它?我确实重新记录了文档,但它没有多大帮助,请解释一下。
react-meteor-data package
this is my mongo db.posts.find()
{ " _id " : ".." , " data " :{ " title " : " s " , " description " : "a" }, " userid " : "..." , " createdat ":131231}
my publish Meteor.publish("postlist",function(){
return Posts.find({});
})
my react component
export default class PostList extends React.Component{
render(){
return{
}
}
}
withTracker((props) => {
const handle = Meteor.subscribe('postlist');
return {
loading: !handle.ready(),
posts: Posts.find().fetch()
}
}, PostList)
答案 0 :(得分:1)
您需要从withTracker
导出新创建的组件,而不是PostList
本身。
同样withTracker
是一个HOC,它返回一个你需要组件包装的函数。
class PostList extends React.Component {
render () {
return {
<div>Some content</div>
}
}
}
export default withTracker((props) => {
const handle = Meteor.subscribe('postlist');
return {
loading: !handle.ready(),
posts: Posts.find().fetch()
}
})(PostList)