与流星和反应的双向数据绑定

时间:2016-01-09 05:06:53

标签: javascript meteor reactjs

因此Meteor使用getMeteorData()代替getInitialState(),那么我们如何进行绑定?考虑此用户个人资料'姓氏:

...

getMeteorData() {
 return {
   u = Meteor.user()
 }
},

componentRender() {
  let instance = this;
  // there is no way you can have two-way binding here. She types in "Brown".
  return(<div><input value={instance.data.user.profile.surname }</div>)
},

render() {
 return(<div>{this.data.user ?  this.componentRender() : <p>Loading...</p>}</div>)
}

...

你如何为此编写onChange函数?我只知道setState的做事方式。此代码也是单向绑定,就好像&#34; Sue&#34;想改变她的姓氏,&#34;布朗&#34;不会被替换。

Two-way binding with React包含getInitialState功能。

更新

我用medium post解决了我的回答。

1 个答案:

答案 0 :(得分:2)

默认情况下,Meteor不会为您提供自动双向绑定。

您需要为输入添加一个on change事件处理程序,以处理用户名中的更新。

在你的onChanged中,你可以拨打电话来更新用户的姓氏。

Meteor.users.update ...

请注意,这根本没有效率,因为每次用户更改输入时都会调用更新。最好有一个按钮来点击以触发更新事件。

请参阅:Meteor React Docs on updates