
npm i usehooks-ts
usehooks (). ts est une bibliothèque React Hooks, écrite en dactylographie et facile à utiliser. Il fournit un ensemble de crochets qui vous permet de créer vos applications REACT plus rapidement. Les crochets sont construits sur les principes du sec (ne vous répétez pas). Il existe des crochets pour les cas d'utilisation les plus courants dont vous pourriez avoir besoin.
La bibliothèque est conçue pour être aussi minime que possible. Il est entièrement saignable d'arbre (en utilisant la version ESM), ce qui signifie que vous n'importez que les crochets dont vous avez besoin, et le reste sera supprimé de votre bundle, ce qui en fait le coût d'utilisation de cette bibliothèque. La plupart des crochets sont largement testés et sont utilisés dans des environnements de production.
import { useLocalStorage } from 'usehooks-ts'
function Component ( ) {
const [ value , setValue ] = useLocalStorage ( 'my-localStorage-key' , 0 )
// ...
} useBoolean - gère l'état booléen avec des fonctions d'utilité utiles.useClickAnyWhere - gère les événements de clic n'importe où sur le document.useCopyToClipboard - Copie du texte dans le presse-papiers à l'aide de l'API du presse-papiers.useCountdown - Gère le compte à rebours.useCounter - gère un compteur avec incrément, décrément, réinitialisation et fonctionnalités SetCount.useDarkMode - Renvoie l'état actuel du mode obscur.useDebounceCallback - crée une version débouchée d'une fonction de rappel.useDebounceValue - Renvoie une version débouchée de la valeur fournie, ainsi qu'une fonction pour la mettre à jour.useDocumentTitle - Définit le titre du document.useEventCallback - Crée un rappel d'événements mémorisé.useEventListener - Joigne les écouteurs d'événements aux éléments DOM, la fenêtre ou les listes de requête multimédia.useHover - suit si un élément DOM est en cours de survol.useIntersectionObserver - suit l'intersection d'un élément DOM avec son élément contenant ou la fenêtre à l'aide de l'API d'observateur d'intersection.useInterval - Crée un intervalle qui invoque une fonction de rappel à un retard spécifié à l'aide de l'API SetInterval.useIsClient - détermine si le code s'exécute du côté client (dans le navigateur).useIsMounted - détermine si le composant est actuellement monté.useIsomorphicLayoutEffect - utilise USELAYOINEFFECT ou UTILISE EFFECT en fonction de l'environnement (côté client ou côté serveur).useLocalStorage - utilise l'API localStorage pour persister l'état à travers les recharges de page.useMap - gère un état de carte de valeur clé avec des actions de setter.useMediaQuery - suit l'état d'une requête multimédia à l'aide de l'API Match Media.useOnClickOutside - Gire les clics à l'extérieur d'un élément spécifié.useReadLocalStorage - lit une valeur de LocalStorage, étroitement liée à Uselocalstorage ().useResizeObserver - observe la taille d'un élément à l'aide de l'API ResizeObserver.useScreen - suit les dimensions et les propriétés de l'écran.useScript - charge dynamiquement des scripts et suivi leur statut de chargement.useScrollLock - Un crochet personnalisé qui verrouille et déverrouille le défilement.useSessionStorage - utilise l'API SessionStorage pour persister l'état à travers les rechargements de page.useStep - gère et navigue entre les étapes d'un processus en plusieurs étapes.useTernaryDarkMode - Gère le mode sombre ternaire (système, sombre, clair) avec le support de stockage local.useTimeout - gère les délais d'attente dans les composants React à l'aide de l'API Settimeout.useToggle - gère un état de bascule booléen dans les composants réagis.useUnmount - Exécute une fonction de nettoyage lorsque le composant n'est pas monté.useWindowSize - suit la taille de la fenêtre. Un grand merci à tous nos bailleurs de fonds! [Devenez un bailleur de fonds]
Sentinelle | Katt | Adhi Ravishankar | grand travail-told-est |
Un grand merci à tous nos contributeurs! [Devenir contributeur]
Julien ? ? ? | A777Med | Nguyen Tien dat | Elias Cohenca ? | João Deroldo ? | Nishit | Jon Koops |
Solifle | Viktor ? ? | Bruno Clermont | yoannesbourg ? | Étrange2x ? | Jason Pickens ? | Sel-Vin Kuik ? |
Isaac ? | Bruno Rzn ? | Nathan manceaux-panot ? | Dien Vu ? | Oleg Kusov ? | Matthew Guy ? | Andrewbihl ? |
lancepollard ? | Mukul Bansal ? | Jean-Luc Mongrain sur la Brosse ? | Nic ? | Dan Wood | Jo Wendenbuerger ? | Andrew Nosenko ? |
Charliejhonsmith | Sullivan Senechal ? ? | Jason Long ? | KXM766 ? | Quentin ? ? | Daniel Lazar ? | Mark Terrel ? |
Herd Andreas ? | Sonjoy Datta | Ilya Belsky ? | James Barrett | Abbalyouness | didriklind | Hexp1989 |
Alvaro Serrano ? | EGEHAN Dülger | Pablore ? | David Sanchez ? | Ajay Raja ? | Andy Merskin ? | Avirup Ghosh ? |
Sanne Wintren ? | Alessandro ? | Andrey Tatarenko ? | Anton Rusak ? | Mahmood Bagheri | Anver sadutt ? | Bogdan Ailincai |
Simeon Griggs ? | Kepro ? | Jake Lippert ? | Tu nguyen anh ? | Luke Shiels ? | Sergei Kolyago ? | Adham Akmal Azmi ? |
Alek Kowalczyk ? | Sean Callahan ? | Joshua Bean ? | Tim Zhao ? | Patrick ? | Bryce Dorn | angusd3v |
Davide di Simone ? | Jack Herrington ? | Avi Sharvit ? | Nicolae Maties ? | Shardul Aeer ? | Herlon Aguiar ? | Alexis Oney ? |
curtvict | Josué Cortina ? | Alex / Katt | Mourad El Cadi ? | James Hulena ? | Matthew Hailwood ? | Michael Norrie ? |
Valentin Politov | Marnus Weststrate | mancuoj ? | Chat Sumlin | Owen Haupt ? ? | ubarbaxor | Michael Mior ? ? |
Percer | Harry B ? | Valerie ? | Steven Vachon | Sean Kirby | Alecsander Farias | Rahul Mishra ? ? |
Bryant Smith ? | Rob Hannay | Hooriza ? | Shansenanayake | Philippe | Ladislas Dellinger | Faire une foi |
Lisandro | Amir Hossein Rezaei | Nicolas Macian ? | Nate Forsyth | salllte ? | Federico Panico | William Pei Yuan |
Mihai ? | Habib Ogunsola ? | Fure cendre | Daniel Turuș | Rahul Chaudhary ? ? | Joshua Ojoawo ? ? | Jack |
Jon Linkens ? | Jeongjin oh ? | Tianning Li | Lars Artmann ? | Kbobovskiy | Kathryn Gonzalez ? | Yaroslav Chapelskyi ? |
Samuel Van Erps ? | ojolowoblue ? | Andrii Kostenko | Akeem Allen ? | trongbinhguyen ? | Aniruddha sil | 박찬혁 ? |
Anish | Hugo Hutri ? | Balz Guenat | Ottergeorge | Samay Sagar ? | Pedro Lisboa ? | Henrique Malheiros ? |
Kevin Newman | A503189 ? | Mourad El Cadi | Pedro Henrique Lopes | Danbi Lee | Connor Jennings | Lucas Gomes ? |
Martin Zagora | KVD | Alex | Kacey Cleveland ? | Avirup Ghosh ? | yabbal | Craig Patik ? |
Soldeplata Saketos Candela | Tendouzhi ? | Marcin Wachulski ? | Salman Fazal ? | hausser les épaules ? | hyodori ? | Eleazar «E» Ramos ? |
retnag ? | J Young Lee ? | Filip Weiss ? | Marius Gundersen ? | Syed Aman Ali ? | Axel Ingadi ? | Andyp ? |
Ishanvaghasiya ? | Nico Martinucci ? | Shiv Bhonde | Shivbhonde.eth ? | fritzmonkey ? | Rodrigo Mesquita ? | Moshe Simantov ? | Beka ? |
Abdallah Alkaser ? | Carl Smith ? | Orlando Gropo ? | Martijn Saly ? | Quinn Shanahan ? | Antoine Kingue ? | Žan Žlender ? |
Sebastian Dominguez ? | James Cowan ? | Bayram Ali Basgul ? | Wyatt Castaneda ? | Tim Neville ? | Thomas Pigarelli ? | James Herdman ? |
Grzegorz Pocciejewski ? | René Verheij ? | Patrykkiniczak ? | Paolo Božac ? | Rêne ? | Florianb ? | Xuan suspendu ? |
Monawwar Abdullah ? | Haroldo de Oliveira Pinheiro ? | Tamjid Ahmed ? | JV-LOPEZ ? | Callum Macrae ? | Bywater529 ? | Kevin He ? |
Fredericogauz ? | Jonathan "Jonlem" Lemos ? | Xegulon ? | Tom Smedley ? | lightbluepoppy ? | Derek Oware ? | Lance Gliser ? |
J. Lewis ? | Yair ? | Nishchit ? | Dévouant ? | Josh Guyette ? | Dora Li ? | Kristian Gerardsson ? |
James Powell ? | Boaz Poolman ? | roker15 ? | Fadhil Ahmad ? | Chandler-Zhu ? | Nghi nguyen ? | Shravan Sunder ? |
Johannes5 ? | sebahhpeya ? | Ou nakash ? | Erez Makavy ? | Andy Merskin ? | Chainlert bot ? | Taylor Morgan ? |
sagesse ? | Samuel Quiñones ? | Manuel ? | Yurii Rybak ? | Yury Demin ? | Jon Tewksbury ? | Novac Denis ? |
Kyrylo-Soulandwolf ? | Miguel Isidoro | Yuriy Gromchenko | Jacob Hummer ? | Kyrylo Melnychuk ? | Luma | Eliya Cohen |
Igor Sukharev ? | pookmish ? | metav-drimz ? | Luckrnx09 | Hubert Kuczmierczyk ? ? | dandubya | Darwish |
Jonathan Raoult ? ? |
Ce projet suit la spécification entièrement-contributeurs (clé Emoji). Contributions de toute nature bienvenue!
Si vous trouvez ce logiciel utile, veuillez considérer un don. Tout montant est grandement apprécié.
BTC: bc1qwys40tnd0lxf9lr9l0t6xc63dpxyucj4x4nay0
ETH: 0x36a85155a8300754C56395D5af24553FB18915D6
Ce projet est sous licence MIT.