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

266
Vistas
No se puede asignar a la propiedad de solo lectura 'aprobado_por_administrador_del_cliente' del objeto '#<Objeto>' después de actualizar los datos de API manualmente

Sé que se ha hecho la misma pregunta antes, pero ninguno de ellos funciona para mí, así que este es mi requisito -> Tengo una lista de usuarios e inicié sesión como administrador. Primero llamé a la API de getUsers para obtener la lista de usuarios. y mostré la lista en la interfaz de usuario, hay un botón Aceptar para que cada usuario los apruebe, así que al hacer clic en el botón Aceptar , estoy llamando a este método ->

 const [allUserList, setAllUserList] = useState(usersArray) const [filterUserListAfterUpdate, setFilterUserListAfterUpdate] = useState([]) const onClickAcceptUser (id) => { let updatedUserList = [] allUserList.forEach(user => { if(user._id === id){ user.approved_by_customer_admin = true } updatedUserList.push(user) }) setFilterUserListAfterUpdate(updatedUserList) } return(<UserList filteredUsersList = {filterUserListAfterUpdate} onAccept={(id) => onClickAcceptUser(id) />)

NOTA : estoy usando NodeJs como backend y MongoDB y este es mi objeto de usuario completo =>

 //All the below values are dummy not real. approved_by_customer_admin: false auth0_id: "email|622e0414804c" company_id: "622df44843fc4" created_date: "2022-03-13T14:47:52.589Z" email: "demo@gmail.com" industry_name: "gmail" is_active: false phone_number: "" prefer_contact: "email" role: "customer_auditor" updated_date: "2022-03-13T14:47:52.589Z" __v: 0 _id: "6243ffa"

Necesito cambiar solo una propiedad del objeto (o tal vez más de una, en el futuro). En la línea user.approved_by_customer_admin = true recibí el error en mi consola. Cualquier sugerencia sería apreciable.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

encuentre un índice de matriz de objeto y actualice el valor de eso como este

 let updatedUserList = [...allUserList] const objIndex = updatedUserList.findIndex(user => user._id == approveUser.id); updatedUserList[objIndex].approved_by_customer_admin = true; filterUserListAfterUpdate(updatedUserList)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Tocando en la oscuridad: según su comentario en una de las respuestas que menciona "No se puede asignar a la propiedad de solo lectura", sospecho que algún otro componente como Mongoose produce el error.

Algunas búsquedas me llevaron a Cómo corregir el error (Error de tipo: no se puede asignar a la propiedad de solo lectura 'mapa' del objeto '#<QueryCursor>') y https://github.com/Automattic/mongoose/issues/11377 , lo que sugiere Nodo degradado (estrictamente por debajo de 17.5.0)

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