Guest User

Untitled

a guest
Feb 9th, 2023
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React from 'react';
  2.  
  3. // Je créé un hook pour simplifier l'action du toggle :
  4. function useToggleElement(defaultVisibility) {
  5.   const [visible, setVisible] = React.useState(defaultVisibility)
  6.   const toggleVisibility = () => {
  7.     setVisible(!visible)
  8.   }
  9.  
  10.   return { visible, toggleVisibility }
  11. }
  12.  
  13. // Je créé un composant qui va englober les éléments enfant dans une div qui va
  14. // avoir la classe "hidden" ou non pour afficher ou masquer le contenu
  15. function ToggleElement({ children }) {
  16.   const { visible, toggleVisibility } = useToggleElement(false)
  17.  
  18.   return (
  19.     <>
  20.       <div className={visible ? '' : 'hidden'}>
  21.         {children}
  22.       </div>
  23.       <button onClick={toggleVisibility}>{visible ? 'Masquer' : 'Afficher'}</button>
  24.     </>
  25.   )
  26. }
  27.  
  28. // Et enfin j'utilise le nouveau composant dans le code :
  29. function App(props) {
  30.   return (
  31.     <div className='App'>
  32.       <h1>Hello App.</h1>
  33.       <ToggleElement>
  34.         <p>Salut les gens</p>
  35.       </ToggleElement>
  36.     </div>
  37.   )
  38. }
Advertisement
Add Comment
Please, Sign In to add comment