我已经构建了这些“连接”功能,因此可以轻松地从我的React组件访问集合。这是这种情况的一个示例:
import { Meteor } from 'meteor/meteor';
import { withTracker } from 'meteor/react-meteor-data';
export const ReadableConnection = function (subscriptionName, collectionAPI) {
return withTracker(props => {
const connection = Meteor.subscribe(subscriptionName);
const isLoading = connection.ready();
return {
...props,
isLoading: isLoading,
collection: collectionAPI.find().fetch()
}
});
}
我已经写了这些个人联系:
import { ReadableConnection } from './connection';
import ListAPI from '../api/listapi'
export const ReadableListConnection = ReadableConnection('MeteorListPublication', ListAPI);
用法示例:
import React from 'react';
import { ReadableListConnection } from '../connections/CollectionConnections';
const RenderList = React.createClass({
render() {
return (
<div key="list">
this.props.collection.map(item => <SingleItem item={item} />
</div>
)
}
});
export default ReadableCertificationsConnection(RenderList);
尽管到目前为止,这些方法在我的项目中都运行良好,但理想情况下,我希望它们是可链接的。我正在尝试一种将这些连接封装在它们自己的闭合中,然后编写连接管理功能的方法。尽管我不确定这是否是解决此特定问题的正确方法。
理想情况下,我可以传递不同的连接,然后传递React组件:
链( ReadableListConnection, ReadableSecondListConnection, ReadableThirdListConnection )(ReactComponent)
然后React组件将能够访问所有集合及其加载状态。