Dans cet article de blog, je vais vous présenter un scénario pratique dans lequel un composant parent (ListBox) interagit avec un composant enfant (AlertComponent) en utilisant des accessoires et des rappels.
Ceci est utile dans React lorsque vous souhaitez qu'un composant enfant communique en retour avec le parent pour maintenir son état ou déclencher des actions.
Comprenons à l'aide de cet exemple :
Voici la répartition des interactions :
import React, { useState } from 'react'; import AlertComponent from './AlertComponent'; const ListBox = () => { const [showComponent, setShowComponent] = useState<boolean>(false); const alertAction = async () => { setShowComponent(!showComponent); }; return ( <div> <div onLongPress={alertAction}> <p>Item 1</p> {/* Other list items */} </div> {/* Passing props to the child component */} <AlertComponent title="Deleting item?" description="Click Accept to delete." onAccept={() => { alert('Item Deleted'); setShowComponent(false); }} onCancel={() => setShowComponent(false)} showComponent={alertAction} /> </div> ); }; export default ListBox;
export const AlertComponent: = ({ title, description, onAccept, onCancel, showComponent }) => { return (<AlertDialog> ... rest of the code </AlertDialog>) }
showComponent fonctionne comme un rappel car il maintient l'état qui est chargé d'afficher/masquer le AlertComponent
Chaque fois que Rejeter est enfoncé, ce rappel fera basculer l'état actuel de showComponent.
<AlertComponent title="Deleting item?" description="Click Accept to delete." onAccept={() => { alert('Item Deleted'); setShowComponent(false); }} onCancel={() => setShowComponent(false)} showComponent={alertAction} />
Utiliser les props et les callbacks de cette manière permet un flux clair de données entre les composants parent et enfant dans React.
Le parent peut contrôler l'état et le transmettre à l'enfant, tandis que l'enfant peut communiquer via des rappels pour informer le parent de tout changement ou action effectué par l'utilisateur.
Ceci est particulièrement utile pour des scénarios tels que l'affichage d'alertes, de modaux ou de fenêtres contextuelles en réponse à l'interaction de l'utilisateur.
Continuez à construire !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!