Sfoglia il codice sorgente

changed setTimeout on setInterval

unknown 2 anni fa
parent
commit
13a43f76fb
4 ha cambiato i file con 35 aggiunte e 5 eliminazioni
  1. 1 1
      .eslintcache
  2. 27 0
      package-lock.json
  3. 1 0
      package.json
  4. 6 4
      src/components/TimerContainer/Timer/Timer.tsx

File diff suppressed because it is too large
+ 1 - 1
.eslintcache


+ 27 - 0
package-lock.json

@@ -35,6 +35,7 @@
         "react-toastify": "^6.2.0",
         "redux": "^4.0.5",
         "redux-devtools-extension": "^2.13.8",
+        "redux-localstorage-simple": "^2.4.1",
         "redux-logger": "^3.0.6",
         "redux-persist": "^6.0.0",
         "redux-toolkit": "^1.1.2",
@@ -13451,6 +13452,11 @@
         "safe-buffer": "~5.1.0"
       }
     },
+    "node_modules/merge": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz",
+      "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w=="
+    },
     "node_modules/merge-descriptors": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
@@ -17031,6 +17037,14 @@
       "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz",
       "integrity": "sha512-8qlpooP2QqPtZHQZRhx3x3OP5skEV1py/zUdMY28WNAocbafxdG2tRD1MWE7sp8obGMNYuLWanhhQ7EQvT1FBg=="
     },
+    "node_modules/redux-localstorage-simple": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/redux-localstorage-simple/-/redux-localstorage-simple-2.4.1.tgz",
+      "integrity": "sha512-Oij3OAPukQVNqHwakfOXWGAcv254HvFtePIyZQY3tfomG8ruz4BV5FL4WytO4Pz8Ja7i3r9cCTEXvnzgv1xCJg==",
+      "dependencies": {
+        "merge": "2.1.1"
+      }
+    },
     "node_modules/redux-logger": {
       "version": "3.0.6",
       "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz",
@@ -33181,6 +33195,11 @@
         }
       }
     },
+    "merge": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz",
+      "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w=="
+    },
     "merge-descriptors": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
@@ -36112,6 +36131,14 @@
       "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz",
       "integrity": "sha512-8qlpooP2QqPtZHQZRhx3x3OP5skEV1py/zUdMY28WNAocbafxdG2tRD1MWE7sp8obGMNYuLWanhhQ7EQvT1FBg=="
     },
+    "redux-localstorage-simple": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/redux-localstorage-simple/-/redux-localstorage-simple-2.4.1.tgz",
+      "integrity": "sha512-Oij3OAPukQVNqHwakfOXWGAcv254HvFtePIyZQY3tfomG8ruz4BV5FL4WytO4Pz8Ja7i3r9cCTEXvnzgv1xCJg==",
+      "requires": {
+        "merge": "2.1.1"
+      }
+    },
     "redux-logger": {
       "version": "3.0.6",
       "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz",

+ 1 - 0
package.json

@@ -31,6 +31,7 @@
     "react-toastify": "^6.2.0",
     "redux": "^4.0.5",
     "redux-devtools-extension": "^2.13.8",
+    "redux-localstorage-simple": "^2.4.1",
     "redux-logger": "^3.0.6",
     "redux-persist": "^6.0.0",
     "redux-toolkit": "^1.1.2",

+ 6 - 4
src/components/TimerContainer/Timer/Timer.tsx

@@ -24,10 +24,12 @@ const Timer = ({
   }, [time]);
 
   useEffect(() => {
-    timeLeft > 0 &&
-      flag === 'Pause' &&
-      setTimeout(() => setTimeLeft(timeLeft - 1), refresh);
-  }, [timeLeft, refresh, flag]);
+    const handleInterval = () =>
+      timeLeft > 0 && flag === 'Pause' && setTimeLeft(timeLeft - 1);
+
+    const idInterval = setInterval(handleInterval, refresh);
+    return () => clearInterval(idInterval);
+  }, [timeLeft, flag, refresh]);
 
   const handleTimer = () => {
     switch (flag) {