#Update con react consumiendo api .net
1 messages · Page 1 of 1 (latest)
Aqui te muestro mi codigo de react…
const [editedMedic, setEditedMedic] = useState(medic);
const handleInputChange = (e) => {
const { name, value } = e.target;
setEditedMedic({ ...editedMedic, [name]: value });
};
const handleSubmit = (e) => {
e.preventDefault();
axios.put(url + "Medic/Edit", editedMedic)
.then(() => {
alert('Medico actualizado con exito');
onUpdate(editedMedic);
})
.catch(error => {
console.error('Error actualizando medico: ', error);
alert('Hubo un error al actualizar al medico.');
})
};
if (!editedMedic) {
return <div>Cargando...</div>;
}
return (
<div className="App">
<div className="container-fluid">
<div className='row mt-3'>
<div className='col-md-4 offset-4'>
<h1>Actualizar Médico</h1>
<form onSubmit={handleSubmit}>
<label className="form-label">
Nombre:
<input
className="form-control"
type="text"
name="names"
value={editedMedic.names}
onChange={handleInputChange}
/>```
Tenia algo de esto!
Pero he ido cambiando de ayer a hoy pero tampoco puedo hacer eso.
dices que el problema es que no salen los datos del usuario en el form no?
puedes mostrar como estas cargando los datos en el estado?
Exacto!
Cuando imprimo lo que lleva la variable editedMedics aparece, [object object] y di pongo editedMedics.phone, aparece undefined
pero el server retorna un json o un string con un json?
Retorna un json, digamos: Data{ names: “ blabla”, }
Vieras que ahora no estoy donde tengo la maquina y el proyecto, pero te juro que nada mas asi muestra, se lo pegue a chatgpt mira el error tal cual me lo muestra, en el console log al imprimir, editedMedics:
es que eso es lo que extraña
[object Object] no parece un objeto valido si lo estas imprimiendo con un console.log
Si quieres cuando puedas hacer el console.log
me mandas por acá el resultado
Y hay algo mas, cuando hago un: editedMedics.data.names ahi si muestra el dato que aparece en la solicitud a la api, pero cuando recargo, manda error y desconoce la variable names…
Pero no tendria que funcionar, porque editedMedics ya tiene: response.data entonces, seria redundante hacer un: editedMedics.data.data.names
Hola, si, lo mejor es que puedas tener el codigo para ejecutarlo y poder entender que está pasando
porque de resto estariamos solo especulando que puede ser
Que tal, si esta bien, cuando me conecte te escribo de nuevo xd
dale
Que tal, perdon que hasta ahora pero he estado haciendo tareas.
si te das cuenta hay un console log debajo de la peticion get y tiene response.data que se setea a editedMedic y luego imprimo editedMedics y da asi como te habia comentado antes.
Hola
Ves que el log tiene una key data
entonces para acceder a names sería editedMedic.data.names
ahora si quieres no tener que escribirlo asi
debes hacer en la respuesta al axios.get setEditedMedic(response.data.data)
con eso podrás hacer editedMedic.names
Justo así lo intente hace varios dias, pero al recargar la pagina desconoce la variable names asi:
Eso es normal que pase
debes verlo de la siguiente forma, cuando la pagina recien carga tu variable editedMedic es null
y si haces editedMedic.phone o editedMedic.loqueSea vas a tener el tipico error de la imagen
porque para javascript estas haciendo null.phone
para evitar eso, existe un operador editedMedic?.phone
para que si editedMedic es null, no intente leer la key phone
y lo mismo con cualquier otra key
es un error porque no validas si es null tu variable
lo que nunca se me ocurrio, fue lo del signo de interrogacion, que si viene null que no haga nada
tienes toda la razon, o sea solo eso me falto hacer jajja tanto que habia intentado°
Te lo agradezco bastante.
con gusto
Muchas gracias, ahora solo veo como hago el update y ya, asi me llevo las demas!!!