Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

265
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda