web:javascript:react:toc
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
web:javascript:react:toc [2019/07/11 01:31] – [Hooks] sgariepy | web:javascript:react:toc [2023/10/03 21:20] (Version actuelle) – [React avec TypeScript] sgariepy | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
React est une librairie JavaScript pour créer des interfaces Web. [[https:// | React est une librairie JavaScript pour créer des interfaces Web. [[https:// | ||
+ | |||
+ | ===== Librairies ===== | ||
+ | |||
+ | * [[web: | ||
+ | |||
====== Avantages ====== | ====== Avantages ====== | ||
Ligne 218: | Ligne 223: | ||
Les hooks permet de ne pas avoir besoin de créer des composants de classes, ces derniers ayant pour désavantage de complexifier le code. | Les hooks permet de ne pas avoir besoin de créer des composants de classes, ces derniers ayant pour désavantage de complexifier le code. | ||
+ | |||
+ | ===== useState ===== | ||
+ | |||
+ | Utilisation de base: | ||
+ | |||
+ | <code javascript> | ||
+ | const [state, setState] = useState(initialState); | ||
+ | setState(newState); | ||
+ | </ | ||
+ | ===== useEffect ===== | ||
+ | |||
+ | -> [[https:// | ||
+ | |||
+ | |||
+ | <code javascript> | ||
+ | useEffect(() => { | ||
+ | // Équivalent à componentDidMount | ||
+ | window.addEventListener(' | ||
+ | return () => { | ||
+ | // Équivalent à componentWillUnmount | ||
+ | window.removeEventListener(' | ||
+ | } | ||
+ | }, []) | ||
+ | </ | ||
+ | ===== useRef ===== | ||
+ | |||
+ | <code javascript> | ||
+ | import React, { useRef } from ' | ||
+ | |||
+ | const ImageToggle = ({ primaryImg, secondaryImg }) => { | ||
+ | const imageRef = useRef(null); | ||
+ | |||
+ | return ( | ||
+ | <img | ||
+ | onMouseOver={() => imageRef.current.src = secondaryImg} | ||
+ | onMouseOut={() => imageRef.current.src = primaryImg} | ||
+ | src={primaryImg} | ||
+ | alt="" | ||
+ | /> | ||
+ | ); | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Références et sources ====== | ||
+ | |||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | |||
+ |
web/javascript/react/toc.1562801474.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)