使用React和Meteor进行双向数据绑定

时间:2016-01-06 20:06:29

标签: meteor reactjs

还有另一种写作方式吗?顺便说一句,这很好用,但我觉得它写得更好:

Profile = React.createClass({
  mixins: [ReactMeteorData],
  getMeteorData() {
    return {
      currentUser: Meteor.user(),
    };
  },
  getInitialState(){
   // we add an if statement to prevent undefined errors
   // could this be written elsewhere?
    if (Meteor.user().profile) {
      this.profile =  Meteor.user().profile;
    } else {
      this.profile =  '';
    };
     return { firstname: this.profile.firstname };
   },

   ...
)};

1 个答案:

答案 0 :(得分:0)

是的,您可以使用ES6类,这是使用Meteor时的推荐方法(ecmascript包已经涵盖了您)。此外,您不需要在getMeteorData()方法之外使用Meteor.user()。

class Profile extends React.Component {
  constructor(props){ super(props); }

  mixins: [ReactMeteorData]

  getMeteorData() {
    return {
      user: Meteor.user(),
    };
  }

  getInitialState(){    

    return { 
      firstname: this.data.user && this.data.user.profile.firstname 
    }        
  }
}