没见过mixin的状态

时间:2016-05-20 13:46:40

标签: javascript reactjs

我有一个mixin,其方法是检查用户是否已登录:

authenticated: function() {
    return this.state.currentUser !== null;
},

我将这个mixin包含在另一个组件中,我这样称呼它:

mixins: [currentUserMixin],

checkUserAlreadyLoggedIn: function(nextState, replace) {
    if(this.authenticated()) {
      replace("/");
    }
},

但是,在Chrome控制台中我收到此错误:

TypeError: Cannot read property 'currentUser' of null

看起来mixin的状态不是在其他组件的状态下导入的。 为什么会这样?

1 个答案:

答案 0 :(得分:1)

您必须确保您的mixin或组件中存在初始状态对象。

getInitialState: function() {
  return {
    currentUser: null
  };
}

请参阅:https://facebook.github.io/react/docs/component-specs.html#getinitialstate