Soy nuevo en React y estoy construyendo una pila MERN. Tengo problemas para pasar una variable de mi front-end a mi back-end. Intenté usar los registros de la consola para depurar y puedo ver que el cuerpo de mi solicitud aparece en blanco. Pasé horas tratando de averiguar qué estaba haciendo mal, pero aún no he tenido ningún avance.
Por favor vea mi código abajo.
Gancho de interfaz de usuario
const fetchUser = (dispatch) => { return async () => { const email = await AsyncStorage.getItem("email"); console.log("async email:", email); try { console.log("sending email:", email); const userInfo = await trackerApi.get("/users", {email}); dispatch({ type: "fetch_users", payload: userInfo.data }); } catch (err) { console.log(err); } }; };Servidor Express/Axios
router.get("/users", async (req, res) => { console.log("Request Body:", req.body); try { const { email } = req.body; // console.log("Email for req: ", email); const user = await User.find({ email: email }); console.log("Users for req: ", user); res.send(user); } catch (err) { console.log(err); } });El problema está relacionado con el método HTTP, su ruta/API es una llamada GET y el método get no tiene el cuerpo, actualice para publicar o use req.query.
Cliente
const userInfo = await trackerApi.post("/users", {email}); // OR const userInfo = await trackerApi.post("/users", { data: {email});Servidor
router.post("/users", async (req, res) => {