Meteor React订阅延迟

时间:2016-08-12 19:19:59

标签: meteor reactjs

我有一小段代码:

getSearchQuery(evt) {
    let query = evt.target.value;

    Meteor.subscribe('searchResults', query, function() {
      console.log('subscription ready');
    });
  }

render() {
    return (
          <TextField
            hintText='Hint text'
            onChange={this.getSearchQuery.bind(this)}
            fullWidth={true}
          />
    )
  }

在输入中键入第一个字母后,我希望在控制台'预订就绪'输出中,但只有在输入第二个字母后才会显示此输出。换句话说,“订阅就绪”输出延迟到下一个字母输入。

例如,如果搜索字符串为“123”,则键入“123”将导致两个“预订就绪”输出,而我预计会有三个。

有可能以某种方式解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我注意到你正在传递改变道具我建议你使用onKeyPress看看:https://facebook.github.io/react/docs/events.html#keyboard-events作为纯粹的反应事件,就像订阅就绪日志一样。确保您在发布功能中设置了适当的条件,而不是.length >= 2到。length > 2