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

84
Visualizações
Actualización del estado de React Hook sin llamar a setState

Tengo un problema con React en el que mi estado de enlace se actualiza sin llamar a setState.

 const [dataSet2, setDataSet2] = React.useState([ [2, 3, 4], [5, 6, 7], [8, 9, 9], ]); const badFunction = () => { let selections = []; let newSelections = []; let winPercent = 0; let newWinPercent = 1; const depth = 2; const dataHolderTest = dataSet2; let firstWeekTest = dataHolderTest[0]; const weekOneTeamsTest = firstWeekTest.slice(0, depth); for (const weekOneTeamTest of weekOneTeamsTest) { let secondWeekTest = dataHolderTest[1]; newWinPercent = weekOneTeamTest.win_percent * newWinPercent; newSelections.push(weekOneTeamTest.team); for (const team2 of secondWeekTest) { removeAllSelectedTeams(newSelections, secondWeekTest, team2); } } console.log(dataSet2); }; const removeAllSelectedTeams = (selections, dataHolder, team) => { if (selections.includes(team.team)) { const currentTeam = dataHolder.indexOf(team); dataHolder.splice(currentTeam, 1); } return dataHolder; };

He estado revisando esto por un tiempo y parece que la función removeAllSelectedTeams es el problema.

Todavía no entiendo cómo se modifica mi dataSet2 sin llamar al gancho setDataSet2

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Si desea hacer una copia de una matriz o un objeto, debe hacerlo así. listTwo = [...listOne] u ObjectTwo = {...ObjectOne} . Simplemente usar = y no usar el operador de propagación no hace una copia de esa matriz u objeto para usted, sino que le da otra referencia a la misma matriz u objeto.

about 4 years ago · Juan Pablo Isaza Relatório

0

Intente copiar la matriz en dataHolderTest en lugar de asignarla igual a dataSet2 con el operador de propagación ...

De esta manera, no cambia la variable dataSet2 original cuando interactúa con dataHolderTest

const dataHolderTest = [...dataSet2]

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