因此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解决了我的回答。
答案 0 :(得分:2)
默认情况下,Meteor不会为您提供自动双向绑定。
您需要为输入添加一个on change事件处理程序,以处理用户名中的更新。
在你的onChanged中,你可以拨打电话来更新用户的姓氏。
Meteor.users.update ...
请注意,这根本没有效率,因为每次用户更改输入时都会调用更新。最好有一个按钮来点击以触发更新事件。