我正在尝试实施Meteor Publish / Subscribe方法,该方法在数据库中搜索参数。如何使用新搜索条件更新此订阅参数?我是否需要关闭以前的订阅?这有什么共同的模式吗?
目前在客户端(ES6)没有工作
constructor() {
super();
const searchSubscription = Meteor.subscribe("search", this.state.searchQuery)
this.state = {
searchQuery: "fringe",
searchSubscription: searchSubscription
}
}
我可以更新状态,但无法弄清楚如何传递状态变量" searchQuery"进入订阅。
答案 0 :(得分:0)
见这里:https://guide.meteor.com/react.html#data
您可以使用react-meteor-data
官方meteor包来响应数据更改
使用此程序包中的createContainer
方法并按如下方式使用:
import { createContainer } from 'meteor/react-meteor-data';
export default FooContainer = createContainer(() => {
// Do all your reactive data access in this method.
// Note that this subscription will get cleaned up when your component is unmounted
var handle = Meteor.subscribe("todoList", this.props.id);
return {
currentUser: Meteor.user(),
listLoading: ! handle.ready(),
tasks: Tasks.find({listId: this.props.id}).fetch(),
};
}, Foo);