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

177
Visualizações
Estoy tratando de actualizar una propiedad de una matriz de objetos, pero muestra No se puede asignar a la propiedad de solo lectura 'isSelected' del objeto

Esta es una función que al hacer clic en un elemento desplegable cambia una propiedad isSelected a verdadera o falsa y, en función de la propiedad isselected, muestra No se puede asignar a la propiedad de solo lectura 'isSelected' del objeto

 onCheckUsers = (x) => { console.log(x, "param of x"); var { userFilter } = this.props.main; var { length } = this.state; var tempSelected = userFilter.find((a) => a.name === x.name); if (tempSelected.isSelected) { tempSelected.isSelected = false; } else tempSelected.isSelected = true; console.log(userFilter, "selectedUserList"); StoreActions.setState({ userFilter }); length = userFilter.filter((d) => d.isSelected).length; this.setState({ length }); // Actions.storeSetState({ userFilter }); };
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Así que aquí encontré la respuesta por mí mismo de que no puede actualizar el estado de una tienda redux directamente, por lo que necesita actualizar el estado en el contexto actual y luego asignarle el valor. No estoy realmente seguro de si es la explicación correcta o no, pero para mí funcionó. así que aquí estoy adjuntando el código si alguien quiere optimizarlo por favor de nada

 var { userFilter } = this.props.main; var { length , tempSelected=[]} = this.state; var tempSelected = _.cloneDeep(userFilter); var newtemplist= tempSelected.find((a) => a.name === x.name) if (newtemplist.isSelected) { newtemplist.isSelected = false; } else newtemplist.isSelected = true; this.setState({tempSelected:newtemplist}) console.log(userFilter, "selectedUserList"); StoreActions.setState({ userFilter:tempSelected });
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