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

165
Vistas
Cada niño en una lista debe tener un accesorio de "clave" único, pero ¿tengo uno?

Recibo el error "cada niño en una lista debe tener un accesorio de 'clave' único", pero estoy confundido porque estoy intentando configurar la clave para una identificación única, y parece que no está funcionando. Estoy usando imdbID como clave, que debe ser un valor de clave principal (único y estable). ¿Mi sintaxis es incorrecta o qué estoy haciendo que es incorrecto aquí?

 import React from 'react'; import "./movie.css"; class Movie extends React.Component { render() { const {Title, Poster, Year, imdbID} = this.props; return ( <div className="movie" key={imdbID} id={imdbID}> <div className="title-year"> <h1 className="title">{Title}</h1> <h2 className="year">{Year}</h2> </div> <div className="poster"> <img src={Poster} alt="my movie poster"/> </div> </div> ) } } export default Movie;

Y aquí está el código que inserta <Movie...> en la aplicación (app.js):

 render() { return ( <div className="App"> <header className="App-header"> <Search handleSendRequest={this.sendRequest}/> <div className="response"> { this.state.movies && this.state.movies.length ? this.state.movies.map((movie) => { return <Movie {...movie}/> }) : null } </div> </header> </div> ); }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Agregue un atributo key a sus etiquetas de película y establezca un valor único. Como a continuación

 { this.state.movies && this.state.movies.length ? this.state.movies.map((movie, index) => { return <Movie key={movie.imdbID} { ...movie } /> }) : null }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Necesita la clave en <Movie/> en sí:

 { this.state.movies && this.state.movies.length ? this.state.movies.map((movie) => { return <Movie key="HERE" {...movie}/> }) : null }

En particular, necesita una clave cada vez que itera sobre un objeto. En este caso, está iterando sobre this.state.movies .

No necesita la clave dentro de la función de procesamiento de Movie, donde la colocó, porque no está iterando sobre ningún objeto en ese momento.

about 4 years ago · Juan Pablo Isaza Denunciar

0

El accesorio 'clave' debe insertarse en el componente <Movie/> , no en el div dentro de él.

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