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

238
Visualizações
Error: demasiados renderizados. porque cambié setState

error: demasiados renderizados.
código explicativo: (
soy una matriz de mapeo de objetos: en esa función de mapeo, hice una nueva matriz de objetos ( raiting = [..rating, {}] ) y luego establecí useState state para que sea esa matriz de objetos ( setRatingFinal([...rating]) ) y luego, al final, lo muestro, pero recibo un error.
)
¿Puede alguien escribirme una respuesta para esto, si es posible escribir código en respuesta? Gracias.

 var [ratingFinal, setRatingFinal] = useState([]) var rating = [] movies.map((movie, i) => { rating = [...rating, {index: i, value: movie["IMDB Votes"] * movie["IMDB Rating"]}]; }); setRatingFinal([...rating]) **//because of this is error** return ( <div> {ratingFinal.map((movie, i) => { <div key={i}>{movie.value}</div> })} </div> ); } export default App;

las películas son una matriz de 3021 objetos - ejemplo de un objeto en esa matriz -

 {"IMDB Rating": 6.3, "IMDB Votes": 365}

Lo intenté sin var rating solo con ratingFinal , pero eso no funciona, así:

 var [ratingFinal, setRatingFinal] = useState([]) movies.map((movie, i) => { setRatingFinal([...ratingFinal, {index: i, value: movie["IMDB Votes"] * movie["IMDB Rating"]}]); }); return ( <div> {ratingFinal.map((movie, i) => { <div key={i}>{movie.value}</div> })} </div> ); } export default App;
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

haga un tiempo de espera y mueva setRatingFinal([...rating]) en un tiempo de espera mínimo de 100 ms, y debe hacer un objeto con valor porque en el primer renderizado no se mostrará (no puede leer la propiedad de indefinido)

 var [ratingFinal, setRatingFinal] = useState([{value: 'something'}])
about 4 years ago · Juan Pablo Isaza Relatório

0

Está utilizando el método .map() incorrectamente; si desea mantener la sintaxis, use .forEach() .

El mapa devuelve una nueva matriz, por lo que el uso es:

 const rating = test.map((movie, i) => { return {index: i, value: movie["IMDB Votes"] * movie["IMDB Rating"]} }); setRatingFinal(rating)
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