Browse Source

把mode不fetch条件判断移出fetch useEffect

visuddhinanda 2 years ago
parent
commit
9e67d388d7
1 changed files with 15 additions and 15 deletions
  1. 15 15
      dashboard/src/components/article/Article.tsx

+ 15 - 15
dashboard/src/components/article/Article.tsx

@@ -85,7 +85,7 @@ const ArticleWidget = ({
   onFinal,
   onFinal,
 }: IWidgetArticle) => {
 }: IWidgetArticle) => {
   const [articleData, setArticleData] = useState<IArticleDataResponse>();
   const [articleData, setArticleData] = useState<IArticleDataResponse>();
-  const [articleMode, setArticleMode] = useState<ArticleMode>();
+
   const [extra, setExtra] = useState(<></>);
   const [extra, setExtra] = useState(<></>);
   const [showSkeleton, setShowSkeleton] = useState(true);
   const [showSkeleton, setShowSkeleton] = useState(true);
   const [unauthorized, setUnauthorized] = useState(false);
   const [unauthorized, setUnauthorized] = useState(false);
@@ -128,22 +128,22 @@ const ArticleWidget = ({
   }, [articleId, type]);
   }, [articleId, type]);
 
 
   useEffect(() => {
   useEffect(() => {
-    setArticleMode(mode ? mode : "read");
     //发布mode变更
     //发布mode变更
     console.log("发布mode变更", mode);
     console.log("发布mode变更", mode);
     store.dispatch(modeChange(mode as ArticleMode));
     store.dispatch(modeChange(mode as ArticleMode));
   }, [mode]);
   }, [mode]);
 
 
+  const srcDataMode = mode === "edit" || mode === "wbw" ? "edit" : "read";
   useEffect(() => {
   useEffect(() => {
-    console.log("mode", mode, articleMode);
+    console.log("srcDataMode", srcDataMode);
     if (!active) {
     if (!active) {
       return;
       return;
     }
     }
+    /*
     if (mode === articleMode) {
     if (mode === articleMode) {
       return;
       return;
     }
     }
-    //发布mode变更
-    //store.dispatch(modeChange(mode));
+
     if (
     if (
       (mode === "edit" && articleMode === "wbw") ||
       (mode === "edit" && articleMode === "wbw") ||
       (mode === "wbw" && articleMode === "edit")
       (mode === "wbw" && articleMode === "edit")
@@ -153,34 +153,35 @@ const ArticleWidget = ({
       return;
       return;
     }
     }
     setArticleMode(mode ? mode : "read");
     setArticleMode(mode ? mode : "read");
+    */
     if (typeof type !== "undefined") {
     if (typeof type !== "undefined") {
       let url = "";
       let url = "";
       switch (type) {
       switch (type) {
         case "chapter":
         case "chapter":
           if (typeof articleId !== "undefined") {
           if (typeof articleId !== "undefined") {
-            url = `/v2/corpus-chapter/${articleId}?mode=${mode}`;
+            url = `/v2/corpus-chapter/${articleId}?mode=${srcDataMode}`;
             url += channelId ? `&channels=${channelId}` : "";
             url += channelId ? `&channels=${channelId}` : "";
           }
           }
           break;
           break;
         case "para":
         case "para":
-          url = `/v2/corpus?view=para&book=${book}&par=${para}&mode=${mode}`;
+          url = `/v2/corpus?view=para&book=${book}&par=${para}&mode=${srcDataMode}`;
           url += channelId ? `&channels=${channelId}` : "";
           url += channelId ? `&channels=${channelId}` : "";
           break;
           break;
         case "article":
         case "article":
           if (typeof articleId !== "undefined") {
           if (typeof articleId !== "undefined") {
-            url = `/v2/article/${articleId}?mode=${mode}`;
+            url = `/v2/article/${articleId}?mode=${srcDataMode}`;
             url += channelId ? `&channel=${channelId}` : "";
             url += channelId ? `&channel=${channelId}` : "";
             url += anthologyId ? `&anthology=${anthologyId}` : "";
             url += anthologyId ? `&anthology=${anthologyId}` : "";
           }
           }
           break;
           break;
         case "textbook":
         case "textbook":
           if (typeof articleId !== "undefined") {
           if (typeof articleId !== "undefined") {
-            url = `/v2/article/${articleId}?view=textbook&course=${courseId}&mode=${mode}`;
+            url = `/v2/article/${articleId}?view=textbook&course=${courseId}&mode=${srcDataMode}`;
           }
           }
           break;
           break;
         case "exercise":
         case "exercise":
           if (typeof articleId !== "undefined") {
           if (typeof articleId !== "undefined") {
-            url = `/v2/article/${articleId}?mode=${mode}&course=${courseId}&exercise=${exerciseId}&user=${userName}`;
+            url = `/v2/article/${articleId}?mode=${srcDataMode}&course=${courseId}&exercise=${exerciseId}&user=${userName}`;
             setExtra(
             setExtra(
               <ExerciseAnswer
               <ExerciseAnswer
                 courseId={courseId}
                 courseId={courseId}
@@ -192,7 +193,7 @@ const ArticleWidget = ({
           break;
           break;
         case "exercise-list":
         case "exercise-list":
           if (typeof articleId !== "undefined") {
           if (typeof articleId !== "undefined") {
-            url = `/v2/article/${articleId}?mode=${mode}&course=${courseId}&exercise=${exerciseId}`;
+            url = `/v2/article/${articleId}?mode=${srcDataMode}&course=${courseId}&exercise=${exerciseId}`;
 
 
             setExtra(
             setExtra(
               <ExerciseList
               <ExerciseList
@@ -205,7 +206,7 @@ const ArticleWidget = ({
           break;
           break;
         default:
         default:
           if (typeof articleId !== "undefined") {
           if (typeof articleId !== "undefined") {
-            url = `/v2/corpus/${type}/${articleId}/${mode}?mode=${mode}`;
+            url = `/v2/corpus/${type}/${articleId}/${srcDataMode}?mode=${srcDataMode}`;
             url += channelId ? `&channel=${channelId}` : "";
             url += channelId ? `&channel=${channelId}` : "";
           }
           }
           break;
           break;
@@ -259,7 +260,7 @@ const ArticleWidget = ({
                     book: parseInt(book),
                     book: parseInt(book),
                     para: parseInt(para),
                     para: parseInt(para),
                     channel: channelId,
                     channel: channelId,
-                    mode: mode ? mode : "read",
+                    mode: srcDataMode,
                   }).then((json) => {
                   }).then((json) => {
                     console.log("view", json.data);
                     console.log("view", json.data);
                   });
                   });
@@ -283,8 +284,7 @@ const ArticleWidget = ({
     active,
     active,
     type,
     type,
     articleId,
     articleId,
-    mode,
-    articleMode,
+    srcDataMode,
     book,
     book,
     para,
     para,
     channelId,
     channelId,