如果電子郵件有效,則啟用添加按鈕。如果電子郵件無效,則添加按鈕將被禁用。下面是我的代碼,function Parent() { const [email, setEmail] = useState(''); const [isDisabled, setIsDisabled] = React.useState(true); const regex = /^(?:"[ .a-z0-9!#$%&'*+/=?^_{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_{|}~-]+)*"|[.a-z0-9!#$%&'*+/=?^_{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_{|}~-]+)*)@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/; const isValid = (value)=> { return regex.test(String(value).toLowerCase()); } const onEmailChange = (event: any) => { setEmail(event.target.value); }; useEffect(() => { setIsDisabled(!isEmail(email)); }, [email]); return ( <input type="text" onChange={onEmailChange}/> <button disabled={isDisabled}>add</button> );}上面的正則表達式完美無缺。但問題是當我輸入電子郵件時說“user@”然后當用戶輸入下一個字符時添加按鈕被禁用說現在電子郵件是“user@i”然后添加按鈕被啟用。現在,當用戶輸入“user@i”時。然后在輸入“user@ii”時禁用和啟用添加按鈕,依此類推。我該如何解決這個問題???有人可以幫我解決這個問題嗎?謝謝。
我如何修復按鈕以使用 React 和 JavaScript 在禁用和啟用狀態之間切換?
撒科打諢
2022-12-22 15:47:35