Zatrzymanie programu

V3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 283
0

Dzień dobry,
mam w React JS komponent który sprawdza pewien warunek. Jak przerwać działanie programu w momencie niespełnienia warunku?. Zatrzymanie programu ma zostać zrealizowane w komponencie kontrola.
Oto prrzykład:

Kopiuj
const kontrola = (id) =>
{
  if (id > 0 )
  {
  return; 
  }
}

.....

kontrola(34); <- W tym momencie działanie programu powinno zakończyć się, a tak się nie dzieje. 

otworz_sejf();

W skrócie. Jeżeli wartość kontrolna będzie większa od 0 to program powinien zatrzymać się i nie wykonywać już otworz_sejf()

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
0

a czemu nie możesz zrobić

Kopiuj
if (id <= 0) {
  otworz_sejf();
}

?

V3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 283
0
KamilAdam napisał(a):

a czemu nie możesz zrobić

Kopiuj
if (id <= 0) {
  otworz_sejf();
}

W środku tej kontroli jest jeszcze odwołanie do bazy danych, które sprawdza czy określone id nie występuje na zleceniu i dlatego chciałem to zrobić w taki sposób :) Oczywiście powyższy kod jest poglądowy :)

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
0

No to

Kopiuj
const kontrola = (id) => {
  if (id > 0 ) {
    return false; 
  } 
  return true;
}
const allowed = kontrola(34); <- W tym momencie działanie programu powinno zakończyć się, a tak się nie dzieje. 
if (allowed) {
  otworz_sejf();
}
Xarviel
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 847
2
virusek391 napisał(a):

mam w React JS komponent który sprawdza pewien warunek. Jak przerwać działanie programu w momencie niespełnienia warunku?

Żeby przerwać renderowanie komponentu funkcyjnego możesz zwrócić wartość null lub undefined wewnątrz komponentu.

Kopiuj
const kontrola = (id) => {
  return id > 0
}

const App = () => {
  if (kontrola(34)) { // lub po prostu tutaj można zrobić warunek id > 34, bez tej dodatkowej funkcji
    return null;
  }

  otworz_sejf();

  return (
    <p>Hello React.JS</p>
  )
}

. Zatrzymanie programu ma zostać zrealizowane w komponencie kontrola.

Kopiuj

const kontrola = (id) => {
  if (id > 0 ) {
    return; 
  }
}

Ten fragment, który wstawiłeś nie jest komponentem Reacta, tylko zwykłą funkcją zwracającą undefined niezależnie od przekazanej wartości.

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8487
0
virusek391 napisał(a):

Dzień dobry,
mam w React JS komponent który sprawdza pewien warunek. Jak przerwać działanie programu w momencie niespełnienia warunku?. Zatrzymanie programu ma zostać zrealizowane w komponencie kontrola.

Co to znaczy "zatrzymać program" w kontekście tego, co piszesz? Co chcesz osiągnąć dokładnie?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.