En esta publicación de blog, lo guiaré a través de un escenario práctico donde un componente principal (ListBox) interactúa con un componente secundario (AlertComponent) usando accesorios y devoluciones de llamadas.
Esto es útil en React cuando desea que un componente secundario se comunique con el principal para mantener el estado o desencadenar acciones.
Entendamos con la ayuda de este ejemplo:
Aquí está el desglose de la interacción:
import React, { useState } from 'react'; import AlertComponent from './AlertComponent'; const ListBox = () => { const [showComponent, setShowComponent] = useState(false); const alertAction = async () => { setShowComponent(!showComponent); }; return ( ); }; export default ListBox;{/* Passing props to the child component */}Item 1
{/* Other list items */}{ alert('Item Deleted'); setShowComponent(false); }} onCancel={() => setShowComponent(false)} showComponent={alertAction} />
export const AlertComponent: = ({ title, description, onAccept, onCancel, showComponent }) => { return (... rest of the code ) }
showComponent funciona como una devolución de llamada ya que mantiene el estado que es responsable de mostrar/ocultar el AlertComponent
Siempre que se presione Rechazar, esta devolución de llamada alternará el estado actual de showComponent.
{ alert('Item Deleted'); setShowComponent(false); }} onCancel={() => setShowComponent(false)} showComponent={alertAction} />
El uso de props y callbacks de esta manera permite un flujo claro de datos entre los componentes principal e secundario en React.
El padre puede controlar el estado y pasárselo al niño, mientras que el niño puede comunicarse mediante devoluciones de llamada para informar al padre de cualquier cambio o acción que haya realizado el usuario.
Esto es particularmente útil para escenarios como mostrar alertas, modales o ventanas emergentes en respuesta a la interacción del usuario.
¡Sigue construyendo!
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3