From 1cbf3357d2e8a550634e99785762209898ba807c Mon Sep 17 00:00:00 2001 From: Haoyu Xu Date: Thu, 2 Mar 2023 18:51:32 -0500 Subject: [PATCH] perf(directory): changelog page optimization --- directory/src/routes/path/changelogs.jsx | 60 ++++++++++++++---------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/directory/src/routes/path/changelogs.jsx b/directory/src/routes/path/changelogs.jsx index e32ff08..ffe3826 100644 --- a/directory/src/routes/path/changelogs.jsx +++ b/directory/src/routes/path/changelogs.jsx @@ -1,9 +1,11 @@ import { useState, useEffect, + useMemo } from 'react' import './changelogs.css' import { useHeader } from '@/state/header'; +import { useAppbar } from '@/state/appbar'; import useUmami from '@parcellab/react-use-umami' import MainBorder from '@/component/main_border'; @@ -15,10 +17,14 @@ export default function Changelogs(props) { currentTab, setHeaderIcon, } = useHeader() + const { + setExtraArea, + } = useAppbar() const [changelogs, setChangelogs] = useState([]) useEffect(() => { setTitle('changelogs') + setExtraArea([]) setHeaderIcon(null) fetch('/_assets/changelogs.json').then(res => res.json()).then(data => { setChangelogs(data) @@ -33,33 +39,37 @@ export default function Changelogs(props) { })) }, [changelogs]) + const content = useMemo(() => { + return ( + changelogs.map((v) => { + return ( + v.map((item) => { + return ( + + ) + }) + ) + }) + ) + }, [changelogs, currentTab]) + return (
- { - changelogs.map((v) => { - return ( - v.map((item) => { - return ( - - ) - }) - ) - }) - } + {content}
) } \ No newline at end of file