Skip to content

Instantly share code, notes, and snippets.

@gaearon
Created December 31, 2014 01:08
Show Gist options
  • Save gaearon/d749c81c0f9216ae5177 to your computer and use it in GitHub Desktop.
Save gaearon/d749c81c0f9216ae5177 to your computer and use it in GitHub Desktop.
'use strict';
var ScreenSizeStore = require('../stores/ScreenSizeStore');
var ScreenSizeMixin = {
getInitialState() {
return this.getScreenSizeState();
},
getScreenSize() {
return ScreenSizeStore.getScreenSize();
},
getScreenSizeState() {
return {
isMobile: ScreenSizeStore.isMobile(),
isTablet: ScreenSizeStore.isTablet(),
isDesktop: ScreenSizeStore.isDesktop(),
screenSize: ScreenSizeStore.getScreenSize()
};
},
componentDidMount() {
ScreenSizeStore.addChangeListener(this.handleScreenSizeChange);
},
componentWillUnmount() {
ScreenSizeStore.removeChangeListener(this.handleScreenSizeChange);
},
handleScreenSizeChange() {
this.setState(this.getScreenSizeState());
}
};
module.exports = ScreenSizeMixin;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment