Проблема с начальной загрузкой-проверкой и использованием состояния (React) - PullRequest
0 голосов
/ 07 июля 2019

Я использую bootstrap-validate для своих форм, и я столкнулся с действительно странной проблемой.Если я попытаюсь использовать setIsValidEmail в обратном вызове, то всякий раз, когда я набираю [some-text] @ [some-text] .com.Я ничего не могу набрать, передайте 'c' в 'com'.Это прекрасно работает, если я оставляю обратный вызов и просто удаляю setIsValidEmail.

Репо: https://github.com/mlelien/testtest

enter image description here

import React, { useState } from 'react'
import * as bootstrapValidate from 'bootstrap-validate'

window.bootstrapValidate = bootstrapValidate

const SignUp2 = () => {
  const [email, setEmail] = useState('')
  const [isValidEmail, setIsValidEmail] = useState(false)

  const onEmailChange = (e) => {
    const newEmail = e.target.value
    setEmail(newEmail)

    bootstrapValidate('#form-email', 'email:Invalid email', (isValid) => {
      setIsValidEmail(isValid)
    })
  }

  return (
    <div className="container">
      <h3>SIGN UP</h3>
      <form>
        <div className="form-group">
          <label htmlFor="form-email">
            Email address
            <input
              type="email"
              className="form-control"
              id='form-email'
              aria-describedby='enter email'
              placeholder='Enter email'
              value={email}
              onChange={onEmailChange}
            />
          </label>
        </div>
      </form>
    </div>
  )
}

export default SignUp2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...