|
1 | | -import React, { useState } from 'react'; |
| 1 | +import React, { useEffect, useState } from 'react'; |
2 | 2 | import { useTranslation } from 'react-i18next'; |
3 | 3 | import { Form, Field } from 'react-final-form'; |
4 | 4 | import { useDispatch } from 'react-redux'; |
@@ -34,26 +34,31 @@ function validateEmail(email) { |
34 | 34 | } |
35 | 35 |
|
36 | 36 | function SignupForm() { |
37 | | - const { t } = useTranslation(); |
| 37 | + const { t, i18n } = useTranslation(); |
38 | 38 |
|
39 | 39 | const dispatch = useDispatch(); |
40 | 40 | function onSubmit(formProps) { |
41 | 41 | return dispatch(validateAndSignUpUser(formProps)); |
42 | 42 | } |
43 | 43 | const [showPassword, setShowPassword] = useState(false); |
44 | 44 | const [showConfirmPassword, setShowConfirmPassword] = useState(false); |
| 45 | + const [formUpdateKey, setFormUpdateKey] = useState(false); |
45 | 46 | const handleVisibility = () => { |
46 | 47 | setShowPassword(!showPassword); |
47 | 48 | }; |
48 | 49 | const handleConfirmVisibility = () => { |
49 | 50 | setShowConfirmPassword(!showConfirmPassword); |
50 | 51 | }; |
| 52 | + useEffect(() => { |
| 53 | + setFormUpdateKey(!formUpdateKey); |
| 54 | + }, [i18n.language]); |
51 | 55 |
|
52 | 56 | return ( |
53 | 57 | <Form |
54 | 58 | fields={['username', 'email', 'password', 'confirmPassword']} |
55 | 59 | validate={validateSignup} |
56 | 60 | onSubmit={onSubmit} |
| 61 | + key={formUpdateKey} |
57 | 62 | > |
58 | 63 | {({ handleSubmit, pristine, submitting, invalid }) => ( |
59 | 64 | <form className="form" onSubmit={handleSubmit}> |
|
0 commit comments