我有一个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的状态不是在其他组件的状态下导入的。 为什么会这样?
答案 0 :(得分:1)
您必须确保您的mixin或组件中存在初始状态对象。
getInitialState: function() {
return {
currentUser: null
};
}
请参阅:https://facebook.github.io/react/docs/component-specs.html#getinitialstate