我在我的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()
的內部強制更新嗎?