diff options
author | Michael Muré <batolettre@gmail.com> | 2020-06-26 11:14:31 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2020-06-27 23:03:06 +0200 |
commit | 07d6c6aa32509a676f9d5b5e3abea1e382374f42 (patch) | |
tree | 515ce4e05059de07d201c8eccb907a0b18655f90 /webui | |
parent | 2ab6381a94d55fa22b80acdbb18849d6b24951f9 (diff) | |
download | git-bug-07d6c6aa32509a676f9d5b5e3abea1e382374f42.tar.gz |
webui: render component's children as a function to avoid uncecessary rendering
Co-authored-by: Quentin Gliech <quentingliech@gmail.com>
Diffstat (limited to 'webui')
-rw-r--r-- | webui/src/layout/IfLoggedIn.tsx | 4 | ||||
-rw-r--r-- | webui/src/pages/bug/Bug.tsx | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/webui/src/layout/IfLoggedIn.tsx b/webui/src/layout/IfLoggedIn.tsx index 8b9058dc..9f4a7576 100644 --- a/webui/src/layout/IfLoggedIn.tsx +++ b/webui/src/layout/IfLoggedIn.tsx @@ -2,13 +2,13 @@ import React from 'react'; import { useCurrentIdentityQuery } from './CurrentIdentity.generated'; -type Props = { children: React.ReactNode }; +type Props = { children: () => React.ReactNode }; const IfLoggedIn = ({ children }: Props) => { const { loading, error, data } = useCurrentIdentityQuery(); if (error || loading || !data?.repository?.userIdentity) return null; - return <>{children}</>; + return <>{children()}</>; }; export default IfLoggedIn; diff --git a/webui/src/pages/bug/Bug.tsx b/webui/src/pages/bug/Bug.tsx index 7057f5a1..34a3aa26 100644 --- a/webui/src/pages/bug/Bug.tsx +++ b/webui/src/pages/bug/Bug.tsx @@ -90,9 +90,11 @@ function Bug({ bug }: Props) { <div className={classes.timeline}> <TimelineQuery id={bug.id} /> <IfLoggedIn> - <div className={classes.commentForm}> - <CommentForm bugId={bug.id} /> - </div> + {() => ( + <div className={classes.commentForm}> + <CommentForm bugId={bug.id} /> + </div> + )} </IfLoggedIn> </div> <div className={classes.sidebar}> |