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

194
Visualizações
¿Cómo puedo usar la condición If/else en React para mostrar una matriz de datos?

En el componente React, tengo una variedad de libros, al hacer clic en Hide Books , configuro la matriz de datos para que se vacíe, por lo que no se muestra nada en la página, cambie el texto del botón a Show Books

Lo que estoy tratando de lograr es cuando haga clic en el botón con texto Show Books , quiero mostrar datos configurando setBooksData(bookData)

 function BookList() { const [booksData, setBooksData] = useState(books); const clearBooks = () => { setBooksData([]); }; return ( <section className="booklist"> {booksData.map((book, index) => { return <Book key={index} {...book}></Book>; })} <button onClick={clearBooks}> {booksData.length === 0 ? "Show Books" : "Hide Books"} </button> </section> ); }
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Podemos usar otro estado para ocultar y mostrar la lista de libros. En su código, ha hecho que la lista de libros esté vacía, de modo que cuando haga clic en Mostrar libro, la lista de libros estará vacía.

Ahora aquí he usado otro estado para ocultar y mostrar los libros. para mostrar el libro, he agregado dos condiciones para verificar si la matriz del libro tiene datos y si está en el estado de visualización.

 function BookList() { const [booksData, setBooksData] = useState(books); const [hideBook,setHidden]=useState(false); const clearBooks = () => { setHidden(!hideBook) }; return ( <section className="booklist"> {!hideBook && booksData.length >0 && booksData.map((book, index) => { return <Book key={index} {...book}></Book>; }) } <button onClick={clearBooks}> {hideBook ? "Show Books" : "Hide Books"} </button> </section> ); }
about 4 years ago · Juan Pablo Isaza Relatório

0

con su lógica, debe alternar el elemento, si tiene una lista y hacer clic en ocultar, se ocultará; de lo contrario, se restablecerá

 const BookLists = () => { const [bookLists, setBooksData] = useState(books); const toggleBookList = () => { if (!!bookLists.length) { setBooksData([]); return; } setBooksData(books); }; return ( <section className="booklist"> <ul> {bookLists.map((book, index) => ( <Book key={index} label={book} /> ))} </ul> <button onClick={toggleBookList}> {bookLists.length === 0 ? 'Show Books' : 'Hide Books'} </button> </section> ); }; export { BookLists };
about 4 years ago · Juan Pablo Isaza Relatório

0

Dado que ambos botones tienen una funcionalidad diferente, puede separarlos y asignarles a cada uno sus propias funciones de controlador.

 function BookList() { const [booksData, setBooksData] = useState(books); const clearBooks = () => { setBooksData([]); }; const handleShowBook = () => { setBooksData(books); } return ( <section className="booklist"> {booksData.map((book, index) => { return <Book key={index} {...book}></Book>; })} { booksData.length === 0 ? (<button onClick={handleShowBook}> Show Books </button>) : (<button onClick={clearBooks}> Hide Books </button>) } </section> ); }
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