Hook useState

Odpowiedz Nowy wątek
2020-06-28 19:22

Rejestracja: 2 miesiące temu

Ostatnio: 6 dni temu

0

Mam taką funkcję

    const handleSubmit = (event) => {
        event.preventDefault()
        validateForm(name, surname, email, password, setErrors)
        console.log(errors)
        if(errors.length === 0) {
            register(user)
        }
    }

do funkcji validateForm przekazuje jako ostatni parametr funkcję setującą stan errors jednak dostęp do tego stanu mam dopiero po drugim wywołaniu handleSubmit, a chciałbym mieć od razu dostęp do errors

edytowany 1x, ostatnio: Kawka, 2020-06-28 19:22

Pozostało 580 znaków

2020-06-28 20:11

Rejestracja: 3 miesiące temu

Ostatnio: 27 minut temu

1

Ustawianie stanu w reactcie jest asynchroniczne, stad tutaj raczej nigdy nie wyciagniesz za pierwszym razem danych ze stanu, bo jeszcze ich tam nie ma.

Pozostało 580 znaków

2020-06-28 21:04

Rejestracja: 2 miesiące temu

Ostatnio: 6 dni temu

0

To raczej nie to bo jak console loguje stan w settimeout po 5 sekundach to dalej ich nie ma

Pozostało 580 znaków

2020-06-28 21:12

Rejestracja: 2 lata temu

Ostatnio: 6 godzin temu

Czemu nie użyjesz useEffect?
Sprawdzasz czy state się zmienił i gotowe ;)

const [count, setCount] = React.useState(0)

  React.useEffect(() => {
    if (count > 0) {
      console.log(count)
    }
  }, [count]);
edytowany 2x, ostatnio: MasterOf, 2020-06-28 21:12

Pozostało 580 znaków

2020-06-28 21:22

Rejestracja: 3 miesiące temu

Ostatnio: 27 minut temu

0

To raczej nie to bo jak console loguje stan w settimeout po 5 sekundach to dalej ich nie ma

O closure nie słyszał.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0