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 l'é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(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 fonctionne comme un rappel car il maintient l'état chargé d'afficher/masquer le AlertComponent
Chaque fois que Rejeter est enfoncé, ce rappel fera basculer l'état actuel de showComponent.
{ alert('Item Deleted'); setShowComponent(false); }} onCancel={() => setShowComponent(false)} showComponent={alertAction} />
L'utilisation de props et 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 !
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3