React
Apprenez React de zéro. Composants, état, hooks, contexte, performance, routage, tests et un projet final.
17 leçons, dans l’ordre
- 125 min
Qu'est-ce que React ?
Bienvenue. Si vous n'avez jamais écrit une ligne de JavaScript et que vous ne savez pas trop ce qu'est un "framework", vous êtes au bon endroit. À la...
What React isComponents as functionsVirtual DOM intuitionRendering JSXCreating a Vite app - 230 min
JSX et Components
Dans la leçon précédente, vous avez vu un composant renvoyer quelque chose qui ressemblait à du HTML : return <h1>Hello, React</h1>;. Cela aurait dû...
JSX syntax rulesSingle root elementClassName vs classEmbedding expressions with {}Defining componentsComposing components - 330 min
Props
Tous les composants que vous avez écrits jusqu'ici avaient leur contenu écrit en dur. Greeting salue toujours le même nom, Card affiche toujours le...
Passing props as attributesReceiving props objectDestructuring props in signatureDefault valuesThinking about prop shapes - 435 min
Le State avec useState
Tous les composants que vous avez écrits jusqu'ici produisent le même résultat pour les mêmes props, systématiquement. C'est très bien pour un titre...
UseState hookReading stateCalling the setterUpdater function formNever mutate stateCounter pattern - 530 min
Gestion des événements
Un composant qui ne fait que produire un rendu à partir des props et de l'état n'est pas interactif tout seul : il faut bien que quelque chose...
OnClick handlerOnChange basicsPassing functions vs calling themEvent objectPassing handlers as props - 630 min
Rendu conditionnel et listes
Presque tous les écrans que vous avez utilisés affichent une chose plutôt qu'une autre selon une condition : une bannière « vous avez de nouveaux...
&& for show/hideTernary for either/orMapping arrays to JSXThe key propWhy keys need to be stable - 735 min
Formulaires et Controlled Inputs
Tapez une lettre dans un <input> HTML ordinaire et le navigateur s'en occupe tout seul : l'élément du DOM retient discrètement ce que vous avez tapé,...
Controlled input patternValue and onChange togetherMulti-field form stateOnSubmit and preventDefaultGathering form data - 840 min
Les Effects avec useEffect
Jusqu'ici, le rôle d'un composant a été de regarder ses props et son état courants pour répondre à une seule question : que doit-on voir à l'écran en...
What counts as a side effectUseEffect signatureDependency arrayRunning on mount onlyCleanup functionSubscribe/unsubscribe pattern - 940 min
Récupération des données
Presque aucune application réelle ne peut se contenter d'afficher les données que l'utilisateur a déjà sous les yeux. À un moment, un composant doit...
Fetch inside useEffectLoading/error/data statesAbortController cleanupPreventing setState after unmountMention TanStack Query as a next step - 1035 min
Composition de Components
Vous avez construit une carte avec une bordure et une ombre, et le rendu est réussi. Il vous faut maintenant la même carte autour d'une photo, autour...
Children propWrapping componentsPassing JSX as propsLifting state upThinking in component trees - 1135 min
Context et useContext
Votre application a un interrupteur de mode sombre. Il se trouve dans le panneau des réglages, mais ce qui a besoin d'en connaître l'état, c'est un...
CreateContextContext.ProviderUseContextWhen context is the right toolContext vs prop drilling tradeoffs - 1235 min
useReducer
Un formulaire de commande commence simplement. Il y a une valeur, donc vous ajoutez useState. Puis il lui faut un message d'erreur, ce qui fait un...
When to reach for useReducerReducer function shapeAction objectsDispatchCombining useReducer with useContext - 1335 min
Hooks personnalisés
Vous avez écrit un tiroir qui s'ouvre et se ferme. Trois lignes de useState et un gestionnaire qui inverse un booléen. Puis la même chose pour un...
Extracting stateful logic into a functionUse prefix conventionUseToggle exampleUseLocalStorage exampleHooks rules - 1435 min
Performance et Memoization
Votre application affiche un tableau de deux mille lignes avec un champ de recherche au-dessus. Chaque frappe est laborieuse : vous tapez, et la...
React.memo for componentsUseMemo for expensive computationsUseCallback for stable function referencesWhen memoization is overkillMeasuring before optimizing - 1540 min
Routage avec React Router
Tout ce que vous avez construit jusqu'ici tient à une seule adresse. Il n'y a qu'une page, et ce que vous voulez montrer à l'utilisateur, vous...
Installing react-router-domBrowserRouterRoutes and RouteLink for navigationUseParamsUseNavigate - 1640 min
Tester les Components React
Vous changez une ligne dans un composant partagé, puis vous passez vingt minutes à cliquer partout dans l'application pour vérifier que rien d'autre...
Vitest + React Testing Library setupRender and screenGetByRole queriesUserEvent for interactionsWriting one good button test - 1760 min
Projet final : Application de liste de tâches
Jusqu'ici, chaque leçon vous a présenté une idée à la fois, avec un petit exemple autour. Les vraies applications ne fonctionnent pas ainsi. Dans une...
Combining state, lists, controlled inputsCustom hook for localStorage persistenceSmall routing setupPutting it together
Apprenez React dans votre langue
Chaque leçon, quiz et réponse du tuteur s’affiche dans votre langue. Le tuteur IA répond dans la langue que vous utilisez.
Roles that use React
See how hiring teams interview engineers on React, in production-like environments.
Frontend Engineer (React, Angular, Vue)
Hire frontend engineers in real workspaces with Vite, real component libraries and real performance budgets. Live or take-home, fully recorded.
See the interviewFull Stack Developer
Hire full stack developers in real apps with real APIs, real UIs and real tests. Live or take-home, fully recorded.
See the interviewWeb Application Engineer
Hire web application engineers in real apps with real routes, real auth and real test suites. Live or take-home, fully recorded.
See the interview