• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

react redux javascript stan

Object Storage Arubacloud
0 głosów
125 wizyt
pytanie zadane 18 sierpnia 2020 w JavaScript przez rob Bywalec (2,440 p.)

Witam, 

Mam problem z cleaarInterval() bo interval jest w useEffect ponieważ powstawała pętla nieskończona, ale dlatego, że jest w useEffect nie potrafię aktualizować stanu wewnątrz i wyczyścić odliczania jeżeli zajdzie potrzeba. Jak sobie poradziś z takim problemem?

Effekt jest taki. że po dodaniu nowego todo i ustawienia mu alarmu uruchamia się odliczanie i po upływie zadanego czasu jest uruchamiany alarm. Wszystko gra, ale nie do końca, bo jeśli użytkownik zechce wyłączyć alarm, klika w czerwoną ikonkę stan zmienia się więc zmienia się ikonka na szarą ale stan nie "dochodzi" do wewnątrz useEffect więc musi upłynąć czas i uruchomić się alarm. Jeżeli ktoś chciałby spróbować to po wybraniu  ADD a dalej daty w celu uruchomienia alarmu trzeba wybrać opcję date z prawej strony czyli alarm uruchomi się dokładnie po upływie zadanego czasu, (w planach mam możliwość uruchomienia np 30min wczesniej)

Jest jakiś sposób aby to rozwiążać? proszę o pomoc.

live

https://robkot500.github.io/to_do/

code

https://github.com/robkot500/to_do/tree/master

 

komentarz 18 sierpnia 2020 przez ScriptyChris Mędrzec (190,190 p.)
Które pliki w repo zawierają problematyczny kod?
komentarz 18 sierpnia 2020 przez rob Bywalec (2,440 p.)
CountDown.js i ItemReducer.js

1 odpowiedź

0 głosów
odpowiedź 18 sierpnia 2020 przez ScriptyChris Mędrzec (190,190 p.)
wybrane 19 sierpnia 2020 przez rob
 
Najlepsza

Próbowałeś czyścić interwał w funkcji zwróconej przez useEffect?

https://en.reactjs.org/docs/hooks-effect.html#example-using-hooks-1

komentarz 18 sierpnia 2020 przez rob Bywalec (2,440 p.)
nie bardzo to rozumię...
komentarz 18 sierpnia 2020 przez ScriptyChris Mędrzec (190,190 p.)

Z callbacka przekazanego do useEffect zwróć funkcję, w której wyczyścisz interwał.

komentarz 19 sierpnia 2020 przez rob Bywalec (2,440 p.)
wielkie dzięki :) działa

Podobne pytania

0 głosów
1 odpowiedź 96 wizyt
pytanie zadane 2 sierpnia 2020 w JavaScript przez rob Bywalec (2,440 p.)
0 głosów
1 odpowiedź 142 wizyt
pytanie zadane 27 września 2020 w JavaScript przez rob Bywalec (2,440 p.)
0 głosów
1 odpowiedź 270 wizyt
pytanie zadane 2 czerwca 2023 w JavaScript przez DzikieHarce Użytkownik (690 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...