Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

198
Vistas
La tabla React no se actualiza después de agregar una nueva fila

Hola, estoy usando axios para agregar un nuevo registro y estoy tratando de actualizar la tabla después de cualquier operación CRUD en la base de datos.

El componente principal tiene componentes MailList y AddMail. El componente AddMail tiene un control de formulario que llama a axios POST para agregar un nuevo registro. ¿Cómo actualizo la tabla en MailList usando ganchos de reacción?

 export default function MailList() { const [mailList, setMailList] = useState([]); useEffect(() => { axios.get("http://localhost:5243/api/Mail") .then(res => { setMailList(res.data) console.log(res.data) }) .catch(err => console.log(err)) }, []); return( <React.Fragment> <Title>Recent Mail Scanned</Title> <Table> <TableHead> <TableRow> <TableCell>ID</TableCell> <TableCell>Tracking Number</TableCell> <TableCell>Date Scanned</TableCell> </TableRow> </TableHead> <TableBody> {mailList.map((m) => ( <TableRow key={m.mailId}> <TableCell>{m.mailId}</TableCell> <TableCell>{m.trackingNo}</TableCell> <TableCell>{m.dateScanned}</TableCell> </TableRow> ))} </TableBody> </Table> </React.Fragment> ); }

AgregarCorreo

 const initialValues = { trackingNumber: '', dateCreated: new Date(), } const [values, setValues] = useState(initialValues); const handleInputChange = e => { const { name, value } = e.target setValues({ ...values, [name]: value }) } let item = { trackingNo: values.trackingNumber, dateCreated: values.dateCreated } function addMail() { axios.post("http://localhost:5243/api/Mail", item ) } ... <Button onClick={addMail}>Save Mail</Button>
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Desea agregar algo así en useEffect.

 useEffect(()=>{ 'your code' },[mailList])
about 4 years ago · Juan Pablo Isaza Denunciar

0

Debes darle a tu useEffect una dependencia. Luego, si hay algún cambio en la lista de correo, entonces se debe cambiar la página.

 const [mailList, setMailList] = useState([]); useEffect(() => { axios.get("http://localhost:5243/api/Mail") .then(res => { setMailList(res.data) console.log(res.data) }) .catch(err => console.log(err)) }, [mailList]);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda