Преглед изворни кода

perf: load cached about content first (#60)

JustSong пре 2 година
родитељ
комит
57cb150177
1 измењених фајлова са 5 додато и 2 уклоњено
  1. 5 2
      web/src/pages/About/index.js

+ 5 - 2
web/src/pages/About/index.js

@@ -5,18 +5,21 @@ import { marked } from 'marked';
 
 const About = () => {
   const [about, setAbout] = useState('');
+  const [aboutLoaded, setAboutLoaded] = useState(false);
 
   const displayAbout = async () => {
+    setAbout(localStorage.getItem('about') || '');
     const res = await API.get('/api/about');
     const { success, message, data } = res.data;
     if (success) {
       let HTMLAbout = marked.parse(data);
-      localStorage.setItem('about', HTMLAbout);
       setAbout(HTMLAbout);
+      localStorage.setItem('about', HTMLAbout);
     } else {
       showError(message);
       setAbout('加载关于内容失败...');
     }
+    setAboutLoaded(true);
   };
 
   useEffect(() => {
@@ -27,7 +30,7 @@ const About = () => {
     <>
       <Segment>
         {
-          about === '' ? <>
+          aboutLoaded && about === '' ? <>
             <Header as='h3'>关于</Header>
             <p>可在设置页面设置关于内容,支持 HTML & Markdown</p>
             项目仓库地址: