Intento insertar algunos datos en mi estado, pero cuando lo intento, aparece un error en user_email: "test@mail.com": se espera que la expresión de tipo de conversión esté entre paréntesis.
Pero no entiendo dónde se supone que debo poner paréntesis. Este es el código:
const [userLogin, setUserLogin] = useState({ user_email: "", user_password: "", }); const login = async (e) => { e.preventDefault(); console.log(refConnexionMail.current.value); setUserLogin( ...userLogin, user_email: 'test@mail.com' ) await POST(ENDPOINTS.USER_LOGIN, userLogin); // await GET(ENDPOINTS.USER_LOGIN) fetch("http://localhost:4200/api/auth/login") .then((response) => response.json()) .then((data) => { console.log(data); }); };Luego, reemplazaré "test@mail.com" por "refConnexionMail.current.value", que es la información que quiero poner en mi estado.
En su código, está utilizando el operador de propagación. Tiene que poner el paréntesis aquí.
setUserLogin({ ...userLogin, user_email: 'test@mail.com' })Se espera que la expresión de conversión de tipos esté entre paréntesis.
Tiene que tener paréntesis aquí:
setUserLogin({ ...userLogin, user_email: 'test@mail.com' })setState es una operación asíncrona, es posible que tenga o no el valor correcto para su método POST. Así que mejor haz algo como esto.
setUserLogin((prevState) => { return { ...prevState, user_email: 'test@mail.com' } })