Hook useState

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

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.

0

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

2

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]);

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ł.

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