我在我的Meteor + React应用程序中有一个文本框。我想将其值同步到Mongo集合。但是,我不想在每次击键后更新集合,只有当用户停止键入几秒时才会更新集合。同步React状态到使用去抖动的Meteor集合
文本框在我render()
功能如下:
<input type="text" ref="answer" onChange={this.onChange} value={this.state.someValue} />
我的文本框的值存储在this.state
而不是this.data
因为this.data
反映蒙戈集合,它可能尚未更新。
到目前为止,所有这些工作。
问题:
如果另一个客户端将更新集合,我想文本框来显示更新值。为此,我必须更新getMeteorData()
函数中的this.state
,但这是不允许的,并且出现错误:“在getMeteorData中调用setState可能导致无限循环”。
现在我有一个解决方法,我手动更新componentDidMount()
和getMeteorData()
中的文本框值,但它感觉有点ha and,我根本不喜欢它。
有没有更好的方法来做到这一点?如果我保证我会成为一个好孩子并表现得很好,我可以在getMeteorData()
的内部强制更新吗?