diff --git a/src/components/views/elements/LazyRenderList.js b/src/components/views/elements/LazyRenderList.js index 0fc0ef6733..7572dced0b 100644 --- a/src/components/views/elements/LazyRenderList.js +++ b/src/components/views/elements/LazyRenderList.js @@ -56,14 +56,20 @@ class ItemRange { } export default class LazyRenderList extends React.Component { + constructor(props) { + super(props); + + this.state = {}; + } + static getDerivedStateFromProps(props, state) { const range = LazyRenderList.getVisibleRangeFromProps(props); const intersectRange = range.expand(props.overflowMargin); const renderRange = range.expand(props.overflowItems); - const listHasChangedSize = !!state && renderRange.totalSize() !== state.renderRange.totalSize(); + const listHasChangedSize = !!state.renderRange && renderRange.totalSize() !== state.renderRange.totalSize(); // only update render Range if the list has shrunk/grown and we need to adjust padding OR // if the new range + overflowMargin isn't contained by the old anymore - if (listHasChangedSize || !state || !state.renderRange.contains(intersectRange)) { + if (listHasChangedSize || !state.renderRange || !state.renderRange.contains(intersectRange)) { return {renderRange}; } return null; diff --git a/src/components/views/elements/TagTile.js b/src/components/views/elements/TagTile.js index f232756433..0b81098124 100644 --- a/src/components/views/elements/TagTile.js +++ b/src/components/views/elements/TagTile.js @@ -55,6 +55,8 @@ export default createReactClass({ hover: false, // The profile data of the group if this.props.tag is a group ID profile: null, + // Whether or not the context menu is open + menuDisplayed: false, }; }, diff --git a/src/components/views/groups/GroupPublicityToggle.js b/src/components/views/groups/GroupPublicityToggle.js index bacf54382a..176bd9f988 100644 --- a/src/components/views/groups/GroupPublicityToggle.js +++ b/src/components/views/groups/GroupPublicityToggle.js @@ -32,7 +32,7 @@ export default createReactClass({ return { busy: false, ready: false, - isGroupPublicised: null, + isGroupPublicised: false, // assume false as expects a boolean }; }, @@ -43,7 +43,7 @@ export default createReactClass({ _initGroupStore: function(groupId) { this._groupStoreToken = GroupStore.registerListener(groupId, () => { this.setState({ - isGroupPublicised: GroupStore.getGroupPublicity(groupId), + isGroupPublicised: Boolean(GroupStore.getGroupPublicity(groupId)), ready: GroupStore.isStateReady(groupId, GroupStore.STATE_KEY.Summary), }); });