From 7dc11e5b861bd9ea49911c2dd472ef894270bb62 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Sat, 22 May 2021 20:03:50 -0700 Subject: [PATCH] fix: Local cache for shared link share trees to reduce render flashing --- app/scenes/Document/components/DataLoader.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/scenes/Document/components/DataLoader.js b/app/scenes/Document/components/DataLoader.js index b9ccd4016..c91bad687 100644 --- a/app/scenes/Document/components/DataLoader.js +++ b/app/scenes/Document/components/DataLoader.js @@ -38,6 +38,8 @@ type Props = {| history: RouterHistory, |}; +const sharedTreeCache = {}; + @observer class DataLoader extends React.Component { @observable sharedTree: ?NavigationNode; @@ -48,6 +50,9 @@ class DataLoader extends React.Component { componentDidMount() { const { documents, match } = this.props; this.document = documents.getByUrl(match.params.documentSlug); + this.sharedTree = this.document + ? sharedTreeCache[this.document.id] + : undefined; this.loadDocument(); } @@ -165,6 +170,7 @@ class DataLoader extends React.Component { this.document = response.document; this.sharedTree = response.sharedTree; + sharedTreeCache[this.document.id] = response.sharedTree; if (revisionId && revisionId !== "latest") { await this.loadRevision();