我正在使用meteor-react,kadira:flowrouter和kadira:react-layout with remove autopublish and insecure in I getd
未捕获的TypeError:无法读取属性' map'未定义的
在订阅完成从mongoDB接收数据之前,首先执行React的渲染功能。在渲染执行之前如何让数据先加载?
,
答案 0 :(得分:0)
我只是通过向我的FlowRouter添加订阅功能来解决这个问题。
router.jsx
FlowRouter.route("/store", {
name: "Store",
subscriptions: function() {
this.register('getAllCourses', Meteor.subscribe('getAllCourses'));
},
action (params) {
renderMainLayoutWith(<Store/>)
}
})
Store.jsx
Store = React.createClass({
mixins: [ReactMeteorData],
getMeteorData() {
return {
courses: Courses.find().fetch()
}
},
render() {
let displayCourses = this.data.courses.map((data) => {
return (
<StoreItemButton key={data._id} title={data.title} description={data.description}/>
)
})
return (
<div className="container-fluid">
<div className="card-columns">
{displayCourses}
</div>
</div>
)
}
})