mirror of
https://github.com/mastodon/mastodon.git
synced 2024-11-10 09:29:18 +00:00
cache currently-viewing status id to avoid calling redux with identical value
This commit is contained in:
parent
07e26142ef
commit
c93df2159f
|
@ -60,6 +60,12 @@ export default class StatusList extends ImmutablePureComponent {
|
|||
this.props.onLoadMore(this.props.statusIds.size > 0 ? this.props.statusIds.last() : undefined);
|
||||
}, 300, { leading: true })
|
||||
|
||||
updateCurrentlyViewingWithCache = (id) => {
|
||||
if(this.cachedCurrentlyViewing === id) return;
|
||||
this.cachedCurrentlyViewing = id;
|
||||
this.props.updateCurrentlyViewing(id);
|
||||
}
|
||||
|
||||
_selectChild (index, align_top) {
|
||||
const container = this.node.node;
|
||||
const element = container.querySelector(`article:nth-of-type(${index + 1}) .focusable`);
|
||||
|
@ -81,6 +87,7 @@ export default class StatusList extends ImmutablePureComponent {
|
|||
render () {
|
||||
const { statusIds, featuredStatusIds, shouldUpdateScroll, onLoadMore, timelineId, ...other } = this.props;
|
||||
const { isLoading, isPartial } = other;
|
||||
other.updateCurrentlyViewing = this.updateCurrentlyViewingWithCache;
|
||||
|
||||
if (isPartial) {
|
||||
return <RegenerationIndicator />;
|
||||
|
|
Loading…
Reference in a new issue