Soy nuevo en React y estoy tratando de hacer una ruta para mantener al usuario conectado después de registrarse, de modo que pueda usar sus detalles de usuario para completar los campos en la página de inicio. Primero intenté hacer esto de la manera en que solía hacerlo antes de comenzar a aprender a reaccionar, guardando los datos en res.locals, pero esto no parece funcionar en reaccionar. Ahora estoy tratando de hacerlo con almacenamiento local. Primero, envío una solicitud de publicación cuando el usuario envía un formulario:
onSubmit(e) { e.preventDefault(); const newUser = { userName: this.state.userName, userEmail: this.state.userEmail, userPassword: this.state.userPassword, } console.log(newUser); axios.post('http://localhost:5000/user/signup', newUser) .then(res => localStorage.setItem("CurrentUser", (res.data)); console.log(localStorage.getItem("CurrentUser")); }La solicitud de publicación funciona bien y el usuario se agrega a mi base de datos sin problemas, pero la línea localStorage.getitem siempre devuelve undefined. A continuación se muestra mi solicitud de publicación en mi archivo userRoute.js (estoy usando Passport para registrar a mi usuario):
router.route('/signup').post(async (req, res) => { const username = req.body.userName; const userEmail = req.body.userEmail; const password = req.body.userPassword; try{ const newUser = new User({userEmail,username}); const registeredUser = await User.register(newUser,password); req.login(registeredUser,err=>{ if(err) console.log(err); console.log("NEW USER: " + req.user) }) } catch(e){ console.log(e.message) } });Probé varias cosas diferentes, como agregar JSON.stringify a mi res.data. De hecho, ni siquiera parece que mi código .then se esté disparando porque cuando ejecuto un simple console.log con .then, no obtengo nada.