la création de modaux et d'info-bulles dans React était souvent complexe, difficile à styliser et conduisait à de nombreuses erreurs de style.
L'API createPortal simplifie ce processus en permettant de restituer des composants en dehors du DOM principal, ce qui facilite le style et la maintenabilité. Dans cet article, nous apprendrons comment utiliser cet outil pour créer des modaux et des info-bulles de la bonne manière dans React.
createPortal est une fonction intégrée de React qui vous permet de restituer des composants dans différentes parties du DOM. Et c'est particulièrement utile pour créer : des modaux et des superpositions, des composants tiers et des éléments d'interface utilisateur personnalisés.
Un portail est utilisé dans l'instruction return du composant et il modifie uniquement l'emplacement physique du nœud DOM. c'est comme téléporter un nœud DOM en dehors de l'arborescence DOM principale. L'API createPortal accède à deux paramètres et un troisième facultatif :
Si nous supposons que nous créons un portail dans le composant A et le rendons dans le composant B, les enfants du portail accéderont à tous les états et variables du composant A et fonctionneront tels qu'ils sont dans le composant A pendant qu'ils ont été rendus dans le composant B.
Dans l'exemple ci-dessous, le portail est utilisé pour téléporter le composant Enfant qui accepte un état et déplacer ce composant vers le corps.
import { createPortal } from 'react-dom' const App = () => { const [state, setState] = useState() return() } export default App...
createPoratl(, document.body )
Le composant enfant sera désormais rendu dans les balises body en HTML.
createPortal est un outil précieux dans React pour créer des modaux, des info-bulles et d'autres composants qui doivent être rendus en dehors de l'arborescence DOM principale. en utilisant cet outil, vous pouvez obtenir une approche plus propre, plus flexible et plus efficace de ces éléments.
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