如何更新React

时间:2016-08-22 08:29:08

标签: meteor reactjs ecmascript-6

我正在尝试实施Meteor Publish / Subscribe方法,该方法在数据库中搜索参数。如何使用新搜索条件更新此订阅参数?我是否需要关闭以前的订阅?这有什么共同的模式吗?

目前在客户端(ES6)没有工作

    constructor() {
        super();
        const searchSubscription =  Meteor.subscribe("search", this.state.searchQuery)

        this.state = {
          searchQuery: "fringe",
          searchSubscription: searchSubscription
      }
}

我可以更新状态,但无法弄清楚如何传递状态变量" searchQuery"进入订阅。

1 个答案:

答案 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);