import axios from 'axios'; // const usersUrl = 'http://localhost:3003/users'; const usersUrl = 'http://localhost:8020/users'; export const getUsers = async (id) => { id = id || ''; return await axios.get(`${usersUrl}/${id}`); } export const addUser = async (user) => { return await axios.post(`${usersUrl}/add`, user); } export const deleteUser = async (id) => { return await axios.delete(`${usersUrl}/${id}`); } export const editUser = async (id, user) => { return await axios.put(`${usersUrl}/${id}`, user) }Este es mi código de cliente cuando intento agregar un usuario, agrega el usuario y los detalles en el back-end en mongo db pero no puedo verlo en el front-end cuando hago clic en el usuario específico.
import React, { useState, useEffect } from "react"; import { Link, useParams } from "react-router-dom"; import axios from "axios"; const usersUrl = 'http://localhost:8020/users'; const View = () => { const [user, setUser] = useState({ projectname: '', projecttype: '', numberofissuesreported: '', retestlead: '', progress: '', startdate: '', enddate: '', }); const { id } = useParams(); useEffect(() => { loadUser(); //getUsers(); }, []); const loadUser = async () => { const res = await axios.get(`http://localhost:8020/users/add`); setUser(res.data); };Y este es mi archivo view.jsx.
Como el error menciona claramente, si usas response.send , envía los datos al cliente. No se pueden modificar los estados una vez enviados.
Código corregido:
export const addUser = async (request, response) => { // retreive the info of user from frontend const user = request.body; // Removed the line const newUser = new User(user); try{ await newUser.save(); response.status(201).json(newUser); } catch (error){ return response.status(404).json({ message: error.message}); } } Sugerencia: si está depurando, simplemente use console.log en lugar de response.send y vea esos valores en la terminal.
Ejemplo:
export const addUser = async (request, response) => { // retreive the info of user from frontend const user = request.body; console.log("Executing.."); console.log(user); const newUser = new User(user); try{ await newUser.save(); response.status(201).json(newUser); } catch (error){ return response.status(404).json({ message: error.message}); } }