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

98
Vistas
Crear respuestas dinámicas a los clics de botón en React

Me han pedido que cree una página de preguntas frecuentes con un estilo de chatbot. La forma en que estoy tratando de hacer esto es creando un elemento de párrafo con algún texto como "¡Hola, hazme una pregunta!" con cinco botones seguidos debajo que contienen las preguntas frecuentes. La idea es que el usuario pueda hacer clic en uno de los botones y revelar la respuesta a la pregunta en un nuevo elemento de párrafo y las preguntas "sin respuesta" restantes deberían aparecer en una fila de botones debajo de eso.

Hasta ahora solo he logrado crear una página de estilo acordeón donde las preguntas están en una columna y la respuesta se revela cuando se hace clic en ellas. Esto funciona, pero realmente me gustaría tratar de cumplir con mis instrucciones y obtener una mejor comprensión de React al mismo tiempo. Mi código actual está a continuación. ¡Cualquier ayuda sería apreciada!

 import React, { useState } from 'react'; import classes from './Chat.module.css'; import { Container, Row, Col } from 'react-bootstrap'; const ChatItem = (props) => { const [isOpen, setIsOpen] = useState(false); const clickHandler = () => { setIsOpen(true); console.log(isOpen); }; return ( <Container> <Row md={5}> <button className={classes.conversation_btn} onClick={clickHandler}> {props.question} </button> </Row> <Row> <Col mdPush={7} md={5}> <div className={`${classes.text_box} ${ isOpen ? classes.open : classes.closed }`} > {props.answer} </div> </Col> </Row> </Container> ); }; const ChatList = (props) => { return ( <div> {props.items.map((item) => ( <ChatItem key={item.id} id={item.id} question={item.question} answer={item.answer} /> ))} </div> ); }; export default ChatList;
about 4 years ago · Juan Pablo Isaza
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