如何用反应控制流星数据流?
How to control meteor data stream with react?
我正在使用 React 和 Meteor,一次从服务器获取数据时遇到问题。组件正在获取流中的数据,组件的渲染函数被多次调用。
这是我使用的代码,用于在带有混合的 React 组件内从客户端上的服务器获取帖子。
getMeteorData() {
return {
posts: Posts.find({}, {sort: {createdAt: -1}}).fetch()
}
},
到目前为止,这是从服务器获取所有帖子(那里只有大约 20 个)
如何一次从服务器获取数据,这样它就不会流式传输并多次调用渲染函数?
添加额外检查是否完成数据加载,例如:
mixins: [ ReactMeteorData ],
getMeteorData() {
var subscription = Meteor.subscribe( 'posts' );
return {
isLoading: !subscription.ready(),
posts: Posts.find({}, {sort: {createdAt: -1}}).fetch()
};
},
render() {
if ( this.data.isLoading ) {
return <div>Loading...</div>;
} else {
return (
// now we have data and render once
);
}
}
我正在使用 React 和 Meteor,一次从服务器获取数据时遇到问题。组件正在获取流中的数据,组件的渲染函数被多次调用。
这是我使用的代码,用于在带有混合的 React 组件内从客户端上的服务器获取帖子。
getMeteorData() {
return {
posts: Posts.find({}, {sort: {createdAt: -1}}).fetch()
}
},
到目前为止,这是从服务器获取所有帖子(那里只有大约 20 个)
如何一次从服务器获取数据,这样它就不会流式传输并多次调用渲染函数?
添加额外检查是否完成数据加载,例如:
mixins: [ ReactMeteorData ],
getMeteorData() {
var subscription = Meteor.subscribe( 'posts' );
return {
isLoading: !subscription.ready(),
posts: Posts.find({}, {sort: {createdAt: -1}}).fetch()
};
},
render() {
if ( this.data.isLoading ) {
return <div>Loading...</div>;
} else {
return (
// now we have data and render once
);
}
}