{"id":59293,"date":"2022-07-05T13:22:29","date_gmt":"2022-07-05T12:22:29","guid":{"rendered":"https:\/\/kinsta.com\/fr\/?p=59293&#038;post_type=knowledgebase&#038;preview_id=59293"},"modified":"2025-10-01T20:46:01","modified_gmt":"2025-10-01T19:46:01","slug":"qu-est-react-js","status":"publish","type":"post","link":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/","title":{"rendered":"Qu&rsquo;est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire"},"content":{"rendered":"<p>Le secteur du d\u00e9veloppement web a connu une croissance constante ces derni\u00e8res ann\u00e9es. Et comme cette croissance se poursuit, de nouvelles technologies apparaissent constamment pour aider les d\u00e9veloppeurs \u00e0 cr\u00e9er des sites et des applications web conviviaux.<\/p>\n<p>Au fil des ans, nous avons vu des <a href=\"https:\/\/kinsta.com\/fr\/blog\/meilleur-langage-programmation-apprendre\/\">langages de programmation<\/a> web produire des fonctionnalit\u00e9s suppl\u00e9mentaires, davantage de langages de programmation \u00eatre utilis\u00e9s dans la cr\u00e9ation de technologies web, et m\u00eame des frameworks et des biblioth\u00e8ques \u00eatre construits sur les structures des technologies existantes.<\/p>\n<p>Dans ce tutoriel, nous parlerons de React &#8211; la <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2021#section-most-popular-technologies-web-frameworks\" target=\"_blank\" rel=\"noopener noreferrer\">biblioth\u00e8que JavaScript bas\u00e9e sur des composants la plus populaire<\/a> utilis\u00e9e pour cr\u00e9er des interfaces utilisateur. Bien que ce tutoriel soit enti\u00e8rement destin\u00e9 aux d\u00e9butants, il peut \u00e9galement servir de guide de r\u00e9f\u00e9rence pour les d\u00e9veloppeurs React exp\u00e9riment\u00e9s.<\/p>\n\n<p>Nous parlerons des caract\u00e9ristiques de React, des avantages et des inconv\u00e9nients, des raisons pour lesquelles vous devriez l&rsquo;utiliser, et de la fa\u00e7on d&rsquo;installer et d&rsquo;utiliser React. Nous verrons \u00e9galement certaines des fonctionnalit\u00e9s de base de React \u00e0 l&rsquo;aide d&rsquo;exemples de code pratiques.<\/p>\n<p>\u00c0 la fin de ce tutoriel, vous devriez comprendre ce qu&rsquo;est React et comment il fonctionne, et \u00eatre capable de l&rsquo;utiliser pour construire des projets impressionnants.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>Qu&rsquo;est-ce que React ?<\/h2>\n<p>React.js, commun\u00e9ment appel\u00e9 simplement React, est une <a href=\"https:\/\/kinsta.com\/fr\/blog\/bibliotheques-javascript\/\" target=\"_blank\" rel=\"noopener noreferrer\">biblioth\u00e8que JavaScript<\/a> utilis\u00e9e pour construire des interfaces utilisateur. Chaque application web React est compos\u00e9e de composants r\u00e9utilisables qui constituent des parties de l&rsquo;interface utilisateur &#8211; nous pouvons avoir un composant distinct pour notre barre de navigation, un pour le pied de page, un autre pour le contenu principal, et ainsi de suite. Vous comprendrez mieux cela lorsque nous arriverons \u00e0 la section o\u00f9 nous devons travailler avec des composants.<\/p>\n<p>Le fait de disposer de ces composants r\u00e9utilisables facilite le d\u00e9veloppement car nous n&rsquo;avons pas \u00e0 r\u00e9p\u00e9ter le code r\u00e9current. Il nous suffit de cr\u00e9er sa logique et d&rsquo;importer le composant dans n&rsquo;importe quelle partie du code o\u00f9 il est n\u00e9cessaire.<\/p>\n<p>React est \u00e9galement une application \u00e0 page unique. Ainsi, au lieu d&rsquo;envoyer une requ\u00eate au serveur \u00e0 chaque fois qu&rsquo;une nouvelle page doit \u00eatre rendue, le contenu de la page est charg\u00e9 directement \u00e0 partir des composants React. Cela conduit \u00e0 un rendu plus rapide sans rechargement de la page.<\/p>\n<p>Dans la plupart des cas, la syntaxe utilis\u00e9e pour construire des applications React est appel\u00e9e JSX (JavaScript XML), qui est une extension syntaxique de <a href=\"https:\/\/kinsta.com\/fr\/blog\/next-js\/\">JavaScript<\/a>. Cela nous permet de combiner la logique JavaScript et la logique de l&rsquo;interface utilisateur d&rsquo;une mani\u00e8re unique. Avec JSX, nous \u00e9liminons le besoin d&rsquo;interagir avec le DOM en utilisant des m\u00e9thodes comme <code>document.getElementById<\/code>, <code>querySelector<\/code>, et d&rsquo;autres m\u00e9thodes de manipulation du DOM.<\/p>\n<p>Bien que l&rsquo;utilisation de JSX ne soit pas obligatoire, elle facilite le d\u00e9veloppement des applications React.<\/p>\n<p>Voici un exemple de la fa\u00e7on dont nous pouvons utiliser JSX dans React :<\/p>\n<pre><code class=\"language-js\">function App() {\n    const greetings = \"Hello World\";\n        return (\n            &lt;div className=\"App\"&gt;\n            &lt;h1&gt; {greetings} &lt;\/h1&gt;\n            &lt;\/div&gt;\n        );\n    }\n}<\/code><\/pre>\n<p>Dans le code ci-dessus, nous avons utilis\u00e9 un composant fonctionnel React pour rendre un morceau de texte au navigateur. Le nom du composant est <code>App<\/code>. Nous avons cr\u00e9\u00e9 une variable avant la fonction <code>render()<\/code>.<\/p>\n<p>Nous avons ensuite transmis cette variable au balisage en utilisant des accolades. Il ne s&rsquo;agit pas de HTML mais de la syntaxe d&rsquo;\u00e9criture du code \u00e0 l&rsquo;aide de JSX.<\/p>\n<p>Dans la prochaine section, nous examinerons certaines des raisons pour lesquelles vous devriez utiliser React.<\/p>\n<h2>Pourquoi React ?<\/h2>\n<p>De nombreux <a href=\"https:\/\/kinsta.com\/fr\/blog\/salaire-developpeur-web\/\" rel=\"noopener\">d\u00e9veloppeurs<\/a> et organisations ont choisi React plut\u00f4t que d&rsquo;autres biblioth\u00e8ques ou frameworks ; voici pourquoi :<\/p>\n<ul>\n<li><strong>Facile \u00e0 apprendre :<\/strong> React est facile \u00e0 apprendre et \u00e0 comprendre tant que vous avez une bonne ma\u00eetrise des pr\u00e9-requis. React dispose d&rsquo;une solide documentation et de nombreuses ressources gratuites cr\u00e9\u00e9es par d&rsquo;autres d\u00e9veloppeurs en ligne via la communaut\u00e9 tr\u00e8s active de React.<\/li>\n<li><strong>Composants r\u00e9utilisables :<\/strong> Chaque composant de React poss\u00e8de sa propre logique qui peut \u00eatre r\u00e9utilis\u00e9e partout dans l&rsquo;application. Cela r\u00e9duit le besoin de r\u00e9\u00e9crire le m\u00eame morceau de code plusieurs fois.<\/li>\n<\/ul>\n<ul>\n<li><strong>Opportunit\u00e9s d&#8217;emploi :<\/strong> Un plus grand pourcentage <a href=\"https:\/\/kinsta.com\/fr\/blog\/developpeur-frontend\/\">d&rsquo;opportunit\u00e9s de d\u00e9veloppement web frontend<\/a> en ce moment ont React comme l&rsquo;une des comp\u00e9tences requises. Le fait de comprendre le fonctionnement de React et de pouvoir travailler avec lui augmente donc vos chances de d\u00e9crocher un emploi.<\/li>\n<\/ul>\n<ul>\n<li><strong>Performances am\u00e9lior\u00e9es :<\/strong> Gr\u00e2ce au DOM virtuel de React, le rendu des pages peut se faire plus rapidement. En utilisant une biblioth\u00e8que de routage comme React Router, vous aurez diff\u00e9rentes pages rendues sans aucun rechargement de page.<\/li>\n<\/ul>\n<ul>\n<li><strong>Largement extensible :<\/strong> React est une biblioth\u00e8que qui assure uniquement le rendu de l&rsquo;interface utilisateur de notre application. C&rsquo;est au d\u00e9veloppeur de choisir les <a href=\"https:\/\/kinsta.com\/fr\/blog\/outils-developpement-web\/\" rel=\"noopener\">outils avec lesquels il souhaite travailler<\/a>, comme les biblioth\u00e8ques de rendu de diff\u00e9rentes pages, les biblioth\u00e8ques de conception, etc.<\/li>\n<\/ul>\n<h2>Qui utilise React ?<\/h2>\n<p>React a \u00e9t\u00e9 utilis\u00e9 par de nombreux ing\u00e9nieurs frontend dans des start-ups et des entreprises \u00e9tablies comme Facebook, Netflix, Instagram, Yahoo, Uber, The New York Times, et plus encore.<\/p>\n<p>Bien que toutes les entreprises cit\u00e9es ci-dessus n&rsquo;aient pas construit l&rsquo;ensemble de leur produit \u00e0 l&rsquo;aide de React, certaines de leurs pages ont \u00e9t\u00e9 construites avec React. Cela s&rsquo;explique par les hautes performances, la facilit\u00e9 d&rsquo;utilisation et l&rsquo;\u00e9volutivit\u00e9 de React.<\/p>\n<h2>Cas d&rsquo;utilisation de React<\/h2>\n<p>React est g\u00e9n\u00e9ralement utilis\u00e9 pour construire l&rsquo;interface utilisateur (frontend) des applications web. Il s&rsquo;accompagne d&rsquo;un rendu rapide des pages et de performances accrues. React peut \u00eatre utilis\u00e9 pour construire n&rsquo;importe quel produit qui fonctionne sur le web.<\/p>\n<p>Voici quelques-unes des choses que React est g\u00e9n\u00e9ralement utilis\u00e9 pour construire :<\/p>\n<ul>\n<li>Applications de lecteur de musique<\/li>\n<li>Applications de r\u00e9seaux sociaux<\/li>\n<li>Applications de discussion en temps r\u00e9el<\/li>\n<li>Applications web <a href=\"https:\/\/kinsta.com\/fr\/blog\/developpeur-full-stack\/\">compl\u00e8tes<\/a><\/li>\n<li>Applications de <a href=\"https:\/\/kinsta.com\/fr\/blog\/hebergement-ecommerce\/\">commerce \u00e9lectronique<\/a><\/li>\n<li>Applications de m\u00e9t\u00e9o<\/li>\n<li>Applications de liste de choses \u00e0 faire<\/li>\n<\/ul>\n<h2>Caract\u00e9ristiques de React<\/h2>\n<p>React poss\u00e8de une pl\u00e9thore de fonctionnalit\u00e9s \u00e9tonnantes qui continuent \u00e0 en faire une option populaire pour les d\u00e9veloppeurs.<\/p>\n<p>Voici quelques-unes des principales fonctionnalit\u00e9s de React :<\/p>\n<ul>\n<li><strong>JSX :<\/strong> Il s&rsquo;agit d&rsquo;une extension syntaxique JavaScript qui \u00e9tend les fonctionnalit\u00e9s de l&rsquo;ES6 (ECMAScript 2015). Cela nous permet de combiner la logique et le balisage JavaScript dans un composant.<\/li>\n<\/ul>\n<ul>\n<li><strong>DOM virtuel :<\/strong> Il s&rsquo;agit d&rsquo;une copie de l&rsquo;objet DOM qui met d&rsquo;abord \u00e0 jour et rend \u00e0 nouveau nos pages lorsque des modifications sont apport\u00e9es ; il compare ensuite l&rsquo;\u00e9tat actuel avec le DOM original pour le maintenir en phase avec les modifications. Cela permet un <a href=\"https:\/\/kinsta.com\/fr\/apprendre\/vitesse-de-site\/\" rel=\"noopener\">rendu plus rapide des pages<\/a>.<\/li>\n<\/ul>\n<ul>\n<li><strong>Composants :<\/strong> Les applications React sont compos\u00e9es de diff\u00e9rents composants r\u00e9utilisables qui ont leur propre logique et interface utilisateur respective. Cela le rend efficace pour la mise \u00e0 l&rsquo;\u00e9chelle des applications et le maintien de performances \u00e9lev\u00e9es, car vous ne dupliquez pas le code aussi souvent que dans d&rsquo;autres frameworks.<\/li>\n<\/ul>\n<h2>Avantages et inconv\u00e9nients de React<\/h2>\n<p>React est peut-\u00eatre un outil populaire pour construire nos interfaces utilisateur, mais il y a encore des raisons pour lesquelles certains d\u00e9veloppeurs ou d\u00e9butants choisissent de ne pas l&rsquo;utiliser.<\/p>\n<p>Dans cette section, nous allons parler des avantages et des inconv\u00e9nients de React.<\/p>\n<p>Voici les avantages de l&rsquo;utilisation de React :<\/p>\n<ol>\n<li><a href=\"https:\/\/kinsta.com\/fr\/blog\/vue-vs-react\/\">React<\/a> est facile \u00e0 apprendre et \u00e0 comprendre.<\/li>\n<li>React dispose d&rsquo;une communaut\u00e9 tr\u00e8s active o\u00f9 vous pouvez contribuer et obtenir de l&rsquo;aide si n\u00e9cessaire.<\/li>\n<li>Il existe de nombreuses opportunit\u00e9s d&#8217;emploi pour les d\u00e9veloppeurs React.<\/li>\n<li>React s&rsquo;accompagne d&rsquo;une augmentation des performances des applications.<\/li>\n<\/ol>\n<p>Voici les inconv\u00e9nients de l&rsquo;utilisation de React :<\/p>\n<ol>\n<li>Les d\u00e9butants qui n&rsquo;ont pas une solide compr\u00e9hension de JavaScript (en particulier ES6) peuvent avoir du mal \u00e0 comprendre React.<\/li>\n<li>React est d\u00e9pourvu de certaines fonctionnalit\u00e9s courantes comme la gestion d&rsquo;un \u00e9tat unique et le routage ; vous devrez installer et apprendre \u00e0 utiliser des biblioth\u00e8ques externes pour les obtenir.<\/li>\n<\/ol>\n<h2>D\u00e9marrer avec React<\/h2>\n<p>Dans cette section, nous parlerons d&rsquo;abord des conditions pr\u00e9alables \u00e0 l&rsquo;utilisation de React, puis nous nous plongerons dans la configuration d&rsquo;une application React, la cr\u00e9ation de composants, la gestion des \u00e9v\u00e9nements et le travail avec les \u00e9tats, les <a href=\"https:\/\/kinsta.com\/fr\/blog\/utiliser-callback-react\/\">hooks<\/a> et les props dans React.<\/p>\n<h3>Conditions pr\u00e9alables \u00e0 l&rsquo;utilisation de React<\/h3>\n<p>Avant d&rsquo;utiliser React, vous devez avoir une bonne compr\u00e9hension et une bonne exp\u00e9rience de <a href=\"https:\/\/kinsta.com\/fr\/blog\/langages-de-script\/\" rel=\"noopener\">JavaScript<\/a>. Voici quelques-uns des sujets JavaScript que nous vous recommandons de r\u00e9viser avant d&rsquo;utiliser React :<\/p>\n<ul>\n<li>Fonctions Arrow<\/li>\n<li>Op\u00e9rateur Rest<\/li>\n<li>Op\u00e9rateur Spread<\/li>\n<li>Modules<\/li>\n<li>Destructuration<\/li>\n<li>M\u00e9thodes de tableau<\/li>\n<li>Litt\u00e9raux de mod\u00e8le<\/li>\n<li>Promesses<\/li>\n<li>Mots-cl\u00e9s <code>let<\/code> et <code>const<\/code><\/li>\n<\/ul>\n<p>La plupart des sujets ci-dessus rel\u00e8vent de l&rsquo;ES6. Vous devez \u00e9galement avoir de l&rsquo;exp\u00e9rience dans <a href=\"https:\/\/kinsta.com\/fr\/blog\/apprendre-le-html\/\">l&rsquo;utilisation du HTML<\/a>, car le balisage fait partie de la syntaxe JSX.<\/p>\n<h3>Comment installer React<\/h3>\n<p>Avant d&rsquo;installer React, assurez-vous que <a href=\"https:\/\/kinsta.com\/fr\/blog\/comment-installer-node-js\/\" rel=\"noopener\">Node.js est install\u00e9 sur votre ordinateur<\/a>.<\/p>\n<p>Une fois que vous l&rsquo;avez install\u00e9, ex\u00e9cutez la commande ci-dessous dans votre terminal :<\/p>\n<pre><code class=\"language-bash\">node -v<\/code><\/pre>\n<p>Si tout s&rsquo;est bien pass\u00e9, la commande ci-dessus devrait vous indiquer quelle version de Node.js est actuellement install\u00e9e sur votre ordinateur.<\/p>\n<p>Ensuite, nous allons ex\u00e9cuter une autre commande pour commencer \u00e0 installer React.<\/p>\n<p>Tout d&rsquo;abord, cr\u00e9ez un dossier ou naviguez jusqu&rsquo;\u00e0 l&#8217;emplacement o\u00f9 vous voulez que l&rsquo;application React soit install\u00e9e, puis ex\u00e9cutez la commande ci-dessous dans votre terminal :<\/p>\n<pre><code class=\"language-bash\">npx create-react-app react-kit<\/code><\/pre>\n<p>La commande ci-dessus va installer React dans un dossier appel\u00e9 <strong>react-kit<\/strong>.<\/p>\n<p>Une fois l&rsquo;installation termin\u00e9e, ouvrez votre dossier React nouvellement install\u00e9 dans <a href=\"https:\/\/kinsta.com\/fr\/blog\/meilleurs-editeurs-de-texte\/\">l&rsquo;\u00e9diteur de code<\/a> de votre choix. Nous utiliserons Visual Studio Code dans ce tutoriel. Visual Studio Code est livr\u00e9 avec un terminal int\u00e9gr\u00e9. Si vous comptez utiliser un autre terminal comme Git Bash ou CMD, il vous suffit de naviguer dans le r\u00e9pertoire de votre application React et d&rsquo;ex\u00e9cuter la commande ci-dessous :<\/p>\n<pre><code class=\"language-bash\">npm run start<\/code><\/pre>\n<p>Cette commande met en route votre serveur de d\u00e9veloppement. Apr\u00e8s un petit moment, vous devriez avoir cette page ci-dessous rendue sur <strong>localhost:3000<\/strong> dans votre navigateur :<\/p>\n<figure id=\"attachment_124283\" aria-describedby=\"caption-attachment-124283\" style=\"width: 1354px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-124283 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/05\/react-npm-start.png\" alt=\"Serveur de d\u00e9veloppement React apr\u00e8s installation\" width=\"1354\" height=\"614\"><figcaption id=\"caption-attachment-124283\" class=\"wp-caption-text\">Serveur de d\u00e9veloppement React apr\u00e8s installation<\/figcaption><\/figure>\n<p>Si vous avez suivi jusqu&rsquo;\u00e0 ce point, alors vous avez install\u00e9 avec succ\u00e8s votre premi\u00e8re application React. F\u00e9licitations !<\/p>\n<p>Lorsque vous jetez un coup d\u2019\u0153il \u00e0 votre structure de dossiers, vous verrez un dossier appel\u00e9 <strong>public<\/strong>. Ce dossier contient un fichier<strong> index.html<\/strong> o\u00f9 notre code sera inject\u00e9 et servi au navigateur.<\/p>\n<p>Le dossier <strong>src<\/strong> est l&rsquo;endroit o\u00f9 se trouveront toute notre logique, notre style et notre balisage ; c&rsquo;est notre dossier de d\u00e9veloppement avec le fichier <strong>App.js<\/strong> faisant office de composant racine. Le code de ce fichier est ce que nous avons dans l&rsquo;image ci-dessus.<\/p>\n<p>Ouvrez le fichier <strong>App.js<\/strong> et apportez quelques modifications au fichier, puis enregistrez pour voir qu&rsquo;il se refl\u00e8te automatiquement dans le navigateur.<\/p>\n<p>Tout est pr\u00eat ? Maintenant, \u00e9crivons un peu de code !<\/p>\n<h3>Les composants dans React<\/h3>\n<p>Il existe deux principaux types de composants dans React : les composants de classe et les composants fonctionnels. La documentation de React est actuellement en cours de r\u00e9\u00e9criture \u00e0 l&rsquo;aide de Hooks, qui est une fonctionnalit\u00e9 que l&rsquo;on trouve dans les composants fonctionnels. Nous utiliserons \u00e9galement les composants fonctionnels dans ce tutoriel car ils sont devenus les composants les plus utilis\u00e9s pour les applications React.<\/p>\n<p>Dans la plupart des cas, les composants renvoient du <a href=\"https:\/\/kinsta.com\/fr\/blog\/xml-vs-html\/\">code HTML<\/a> avec un m\u00e9lange de valeurs dynamiques cr\u00e9\u00e9es \u00e0 l&rsquo;aide de JavaScript. Les composants sont cr\u00e9\u00e9s comme des fonctions en JavaScript.<\/p>\n<h3>Cr\u00e9ation d&rsquo;un composant de classe React<\/h3>\n<p>Regardons un exemple de composant de classe dans React.<\/p>\n<p>Chaque composant de classe doit inclure l&rsquo;instruction <code>React.Component<\/code> et l&rsquo;instruction <code> render()  subclass.<\/code><\/p>\n<pre><code class=\"language-js\">class Student extends React.Component {\n    constructor() {\n        super();\n        this.state = {language: \"JavaScript\"};\n    }\n    render() {\n        return &lt;p&gt;I am learning {this.state.language} &lt;\/p&gt;;\n    }\n}<\/code><\/pre>\n<p>Dans le composant ci-dessus, nous avons cr\u00e9\u00e9 une variable d&rsquo;\u00e9tat appel\u00e9e <code>language<\/code> avec une valeur de cha\u00eene de caract\u00e8res de \u00ab JavaScript \u00bb. Nous avons ensuite utilis\u00e9 cette variable dans notre balisage. Cet exemple montre comment nous pouvons m\u00e9langer JavaScript et HTML sans faire r\u00e9f\u00e9rence \u00e0 aucune m\u00e9thode DOM.<\/p>\n<p>Lors du rendu dans le navigateur, nous verrons le message \u00ab I am learning JavaScript \u00bb affich\u00e9 sur la page.<\/p>\n<h3>Cr\u00e9ation d&rsquo;un composant fonctionnel React<\/h3>\n<p>Dans cette section, nous allons recr\u00e9er l&rsquo;exemple de la derni\u00e8re section en utilisant un composant fonctionnel.<\/p>\n<p>Ajoutez cette fonction \u00e0 votre fichier :<\/p>\n<pre><code class=\"language-js\">function Student() {\n    const language = \"JavaScript\";\n    return (\n        &lt;div&gt;\n        &lt;p&gt;I am learning { language } &lt;\/p&gt;\n        &lt;\/div&gt;\n    );\n}<\/code><\/pre>\n<p>Le nom de notre composant est le m\u00eame : <code>Student<\/code>. Commencez toujours le nom de vos composants par une majuscule. Cette variable a \u00e9galement \u00e9t\u00e9 pass\u00e9e dans le balisage comme nous l&rsquo;avons fait dans la derni\u00e8re section sans manipuler le DOM \u00e0 l&rsquo;aide de m\u00e9thodes JavaScript DOM vanille.<\/p>\n<p>Ce composant poss\u00e8de \u00e9galement une variable <code>Student<\/code> qui a \u00e9t\u00e9 rendue, mais au fur et \u00e0 mesure que nous progressons dans le tutoriel, nous utiliserons un Hook appel\u00e9 <code>useState<\/code> Hook pour cr\u00e9er nos variables d&rsquo;\u00e9tat.<\/p>\n<h3>Gestion des \u00e9v\u00e9nements dans React<\/h3>\n<p>Les \u00e9v\u00e9nements utilis\u00e9s dans React sont enti\u00e8rement similaires \u00e0 ceux que nous utilisons en <a href=\"https:\/\/kinsta.com\/fr\/blog\/apprendre-le-html\/\">HTML<\/a>. La seule diff\u00e9rence ici est que les \u00e9v\u00e9nements React sont \u00e9crits en syntaxe camelCase. Ainsi, \u00ab onclick \u00bb sera \u00ab onClick \u00bb dans React, \u00ab onchange \u00bb sera \u00ab onChange \u00bb, et ainsi de suite.<\/p>\n<p>Lorsque nous transmettons un \u00e9v\u00e9nement en tant qu&rsquo;attribut dans une balise HTML, nous utilisons des accolades : <code> onClick={changeName}<\/code> au lieu des guillemets <code> onClick=\u201dchangeName\u201d<\/code><\/p>\n<p>Voici un exemple (dans le fichier <strong>App.js<\/strong>) :<\/p>\n<pre><code class=\"language-js\">import { useState } from \"react\";\nfunction App() {\n    const [name, setName] = useState(\"John\");\n    const changeName = () =&gt; {\n        setName(\"James\");\n    };\n    return (\n        &lt;div className=\u201dApp\u201d&gt;\n        &lt;p&gt;His name is {name}&lt;\/p&gt;\n        &lt;button onClick={changeName}&gt; Click me &lt;\/button&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Dans le code ci-dessus, nous avons cr\u00e9\u00e9 une fonction qui alerte un message dans le navigateur. Nous avons \u00e9galement cr\u00e9\u00e9 un bouton qui appelle cette fonction lorsqu&rsquo;il est cliqu\u00e9. Le gestionnaire d&rsquo;\u00e9v\u00e9nements utilis\u00e9 ici est le gestionnaire d&rsquo;\u00e9v\u00e9nements <code>onClick<\/code>.<\/p>\n<p>Vous avez remarqu\u00e9 que le nom de la fonction \u00e9tait entour\u00e9 de crochets et non de guillemets. C&rsquo;est ainsi que l&rsquo;on peut transmettre des valeurs dynamiques comme les noms de variables et de fonctions dans le balisage lorsqu&rsquo;on utilise JSX.<\/p>\n<p>De plus, au lieu d&rsquo;utiliser \u00ab class \u00bb comme nous le ferions en utilisant HTML, nous utilisons \u00ab className \u00bb. Ceci est d\u00fb au fait que \u00ab class \u00bb est un mot r\u00e9serv\u00e9 en JavaScript.<\/p>\n<p>Nous avons export\u00e9 notre composant \u00e0 la derni\u00e8re ligne. Cela nous permet de les importer dans d&rsquo;autres composants.<\/p>\n<h3>Travailler avec les \u00e9tats dans React<\/h3>\n<p>Pour g\u00e9rer l&rsquo;\u00e9tat de notre application dans React, nous utilisons un Hook appel\u00e9 <code>useState<\/code> Hook. Les Hooks nous permettent d&rsquo;acc\u00e9der \u00e0 des fonctionnalit\u00e9s suppl\u00e9mentaires de React sans \u00e9crire une classe.<\/p>\n<p>Avec les Hooks, nous pouvons g\u00e9rer l&rsquo;\u00e9tat de notre composant, et m\u00eame ex\u00e9cuter certains effets lorsque nos variables d&rsquo;\u00e9tat sont rendues pour la premi\u00e8re fois ou modifi\u00e9es.<\/p>\n<p>Sans le hook <code>useState<\/code> dans un composant fonctionnel, toute modification apport\u00e9e \u00e0 nos variables d&rsquo;\u00e9tat ne sera pas r\u00e9percut\u00e9e dans le DOM et l&rsquo;\u00e9tat restera donc inchang\u00e9.<\/p>\n<p>Voyons un exemple.<\/p>\n<pre><code class=\"language-js\">import { useState } from \"react\";\nfunction App() {\n    const [name, setName] = useState(\"John\");\n    const changeName = () =&gt; {\n        setName(\"James\");\n    };\n    return (\n        &lt;div className=\u201dApp\u201d&gt;\n        &lt;p&gt;His name is {name}&lt;\/p&gt;\n        &lt;button onClick={changeName}&gt; Click me &lt;\/button&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Maintenant, regardons ce que nous venons de faire.<\/p>\n<p>Nous avons d&rsquo;abord import\u00e9 le hook <code>useState<\/code> de React. Nous avons ensuite cr\u00e9\u00e9 une variable d&rsquo;\u00e9tat appel\u00e9e <strong>name<\/strong> et une fonction &#8211; <strong>setName<\/strong> &#8211; qui sera utilis\u00e9e pour mettre \u00e0 jour la valeur de la variable <strong>name<\/strong>. La valeur initiale de la variable name est stock\u00e9e dans le <code>useState<\/code> Hook sous le nom de \u00ab John \u00bb.<\/p>\n<p>Ensuite, nous avons cr\u00e9\u00e9 une fonction appel\u00e9e <strong>changeName<\/strong>, qui utilise la fonction <strong>setName<\/strong> pour mettre \u00e0 jour la valeur de la variable <strong>nom<\/strong>.<\/p>\n<p>Dans notre balisage, une fois que le bouton est cliqu\u00e9, \u00ab John \u00bb est chang\u00e9 en \u00ab James \u00bb.<\/p>\n<p>Dans la section suivante, nous verrons comment utiliser un autre Hook dans React.<\/p>\n<h3>Travailler avec des hooks dans React<\/h3>\n<p>Dans la derni\u00e8re section, nous avons vu comment g\u00e9rer l&rsquo;\u00e9tat de notre application \u00e0 l&rsquo;aide du hook <code>useStatet<\/code>. Dans cette section, nous allons voir comment utiliser le hook <code>useEffect<\/code>.<\/p>\n<p>Le Hook <code>useEffect<\/code> ex\u00e9cute un effet \u00e0 chaque fois qu&rsquo;un changement se produit dans un \u00e9tat. Par d\u00e9faut, ce hook s&rsquo;ex\u00e9cute au premier rendu et \u00e0 chaque fois que l&rsquo;\u00e9tat est mis \u00e0 jour mais nous pouvons configurer et attacher un effet \u00e0 une variable d&rsquo;\u00e9tat respective.<\/p>\n<p>Voyons quelques exemples :<\/p>\n<pre><code class=\"language-js\">import { useState, useEffect } from \"react\";\nfunction App() {\n    const [day, setDay] = useState(1);\n    useEffect(() =&gt; {\n        console.log(`You are in day ${day} of the year`);\n    });\n    return (\n        &lt;div&gt;\n        &lt;button onClick={() =&gt; setDay(day + 1)}&gt;Click to increase day&lt;\/button&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>La premi\u00e8re chose que nous avons faite ici a \u00e9t\u00e9 d&rsquo;importer le hook <code>useEffect<\/code>.<\/p>\n<p>Chaque fois que nous cliquons sur le bouton, la variable <strong>name<\/strong> est augment\u00e9e d&rsquo;une unit\u00e9. Cette modification de la valeur de <strong>name<\/strong> fait ensuite en sorte que le hook <code>useEffect<\/code> enregistre un message dans la console &#8211; cela se produit chaque fois que la variable <strong>name<\/strong> change.<\/p>\n<p>Dans la prochaine section, nous parlerons des Props et du flux de donn\u00e9es entre les composants.<\/p>\n<h3>Travailler avec des Props dans React<\/h3>\n<p>Les Props nous permettent de faire passer des donn\u00e9es d&rsquo;un composant \u00e0 un autre. Cela rend le flux de donn\u00e9es dans notre application dynamique et maintenable. Props est l&rsquo;abr\u00e9viation de properties (propri\u00e9t\u00e9s).<\/p>\n<p>Voyons un exemple de la fa\u00e7on dont nous pouvons utiliser les Props.<\/p>\n<p>Voici \u00e0 quoi ressemble notre fichier <strong>App.js<\/strong>:<\/p>\n<pre><code class=\"language-js\">function App() {\n    return (\n        &lt;div&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Nous cr\u00e9ons un autre composant appel\u00e9 <strong>Bio.js<\/strong> qui ressemble \u00e0 ceci :<\/p>\n<pre><code class=\"language-js\">function Bio() {\n    return (\n        &lt;div&gt;\n        &lt;p&gt;My name is John&lt;\/p&gt;\n        &lt;p&gt;I am a JavaScript developer&lt;\/p&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default Bio;<\/code><\/pre>\n<p>Ensuite, nous allons importer le composant <strong>Bio<\/strong> dans notre composant <strong>App<\/strong> comme ceci :<\/p>\n<pre><code class=\"language-js\">import Bio from \".\/Bio\";\nfunction App() {\n    return (\n        &lt;div className=\"App\"&gt;\n        &lt;Bio\/&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>La premi\u00e8re ligne est celle o\u00f9 nous avons import\u00e9 le composant <strong>Bio<\/strong>. Nous avons ensuite plac\u00e9 le composant entre les balises <code>div<\/code> dans notre composant <strong>App<\/strong>. Lorsque vous visualisez ceci dans le navigateur, vous verrez le code que nous avons cr\u00e9\u00e9 dans le composant <strong>Bio<\/strong> \u00eatre rendu.<\/p>\n<p>Vous comprenez maintenant comment le code peut \u00eatre r\u00e9utilisable dans React. Mais ce code est statique ; il sera le m\u00eame dans tous les composants dans lesquels il est utilis\u00e9. Cela ne sera pas efficace dans les cas o\u00f9 nous voudrions utiliser le m\u00eame composant mais avec des informations diff\u00e9rentes.<\/p>\n<p>Corrigeons cela en utilisant Props.<\/p>\n<p>Dans le composant <strong>Bio.js<\/strong>, faites ceci :<\/p>\n<pre><code class=\"language-js\">function Bio({name, language}) {\n    return (\n        &lt;div&gt;\n        &lt;p&gt;My name is { name }&lt;\/p&gt;\n        &lt;p&gt;I am a { language } developer&lt;\/p&gt;\n        &lt;\/div&gt;\n    );\n\n}\nexport default Bio;<\/code><\/pre>\n<p>Nous avons d&rsquo;abord d\u00e9structur\u00e9 et transmis <code>name<\/code> et <code>language<\/code> comme param\u00e8tres. Ces param\u00e8tres ont ensuite \u00e9t\u00e9 utilis\u00e9s dynamiquement dans notre balisage.<\/p>\n<p>Nous avons export\u00e9 le composant dans la derni\u00e8re ligne de code : <code> export default Bio;<\/code> pour nous permettre de l&rsquo;importer dans tout autre composant n\u00e9cessitant sa logique.<\/p>\n<p>Pour l&rsquo;instant, nous ne voyons pas de valeur \u00e0 afficher. Nous ferons cela dans le composant <strong>App<\/strong>; voici comment :<\/p>\n<pre><code class=\"language-js\">import Bio from \".\/Bio\";\nfunction App() {\n    return (\n        &lt;div className=\"App\"&gt;\n        &lt;Bio name=\"James\" language=\"Python\"\/&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Nous avons ajout\u00e9 des attributs \u00e0 notre balise <strong>Bio<\/strong> correspondant aux props que nous avons cr\u00e9\u00e9s pr\u00e9c\u00e9demment. Toute valeur que nous passons dans ces attributs sera rendue sur le navigateur. Ceci est important pour les composants qui seront utilis\u00e9s dans plusieurs composants mais qui n\u00e9cessitent des donn\u00e9es diff\u00e9rentes.<\/p>\n<h2>O\u00f9 en apprendre plus<\/h2>\n<p>Ce tutoriel vous a donn\u00e9 les connaissances fondamentales n\u00e9cessaires pour commencer \u00e0 cr\u00e9er des applications web avec React, mais ce n&rsquo;est pas tout ce qu&rsquo;il y a \u00e0 savoir sur React. Il y a encore d&rsquo;autres fonctionnalit\u00e9s n\u00e9cessaires pour construire une application efficace avec React comme le routage dans les applications qui ont plus d&rsquo;une page et la gestion d&rsquo;un \u00e9tat unique en utilisant des outils comme Redux.<\/p>\n<p>Le meilleur endroit pour commencer \u00e0 en savoir plus sur React est la <a href=\"https:\/\/reactjs.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">documentation React<\/a>. Vous pouvez \u00e9galement consulter la <a href=\"https:\/\/beta.reactjs.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">documentation b\u00eata<\/a> en cours de r\u00e9\u00e9criture \u00e0 l&rsquo;aide de hooks.<br \/>\n<\/p>\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>React en tant que biblioth\u00e8que frontend n&rsquo;a cess\u00e9 de cro\u00eetre massivement par rapport aux autres <a href=\"https:\/\/kinsta.com\/fr\/blog\/angular-vs-react\/\" rel=\"noopener\">biblioth\u00e8ques ou frameworks<\/a> dans la communaut\u00e9 des d\u00e9veloppeurs et ne montre aucun signe d&rsquo;arr\u00eat. Vous pouvez trouver React sur la feuille de route de tout d\u00e9veloppeur web moderne.<\/p>\n<p>Avec l&rsquo;adoption actuelle de la technologie web3 par de plus en plus de d\u00e9veloppeurs, React est rest\u00e9 l&rsquo;outil pr\u00e9f\u00e9r\u00e9 pour construire le frontend des applications d\u00e9centralis\u00e9es (DApps).<\/p>\n<p>Vous pouvez construire une vari\u00e9t\u00e9 d&rsquo;applications avec React, des simples applications web de liste de t\u00e2ches aux places de march\u00e9, tableaux de bord, et ainsi de suite.<\/p>\n<p>React peut \u00eatre utilis\u00e9 avec de nombreuses technologies comme Bootstrap, <a href=\"https:\/\/kinsta.com\/fr\/blog\/tailwind-css\/\">Tailwind CSS<\/a>, Axios, Redux, Firebase, et bien plus encore. Nous pouvons \u00e9galement utiliser React avec Node.js et d&rsquo;autres <a href=\"https:\/\/kinsta.com\/fr\/blog\/meilleur-langage-programmation-apprendre\/\" rel=\"noopener\">langages<\/a> backend pour construire des <a href=\"https:\/\/kinsta.com\/fr\/blog\/backend-vs-frontend\/\" rel=\"noopener\">applications full-stack<\/a> et des applications web qui fonctionnent \u00e0 la vitesse de l&rsquo;\u00e9clair.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le secteur du d\u00e9veloppement web a connu une croissance constante ces derni\u00e8res ann\u00e9es. Et comme cette croissance se poursuit, de nouvelles technologies apparaissent constamment pour aider &#8230;<\/p>\n","protected":false},"author":240,"featured_media":59357,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[751,535,469,714,581],"topic":[979,1004],"class_list":["post-59293","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-frontend-development","tag-javascript","tag-javascript-libraries","tag-react","tag-react-js","topic-frameworks-javascript","topic-react"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Qu&#039;est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire<\/title>\n<meta name=\"description\" content=\"React est une biblioth\u00e8que JavaScript open source, bas\u00e9e sur des composants, qui permet de cr\u00e9er des interfaces utilisateur rapides et dynamiques. Nous vous expliquons comment vous lancer.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Qu&#039;est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire\" \/>\n<meta property=\"og:description\" content=\"React est une biblioth\u00e8que JavaScript open source, bas\u00e9e sur des composants, qui permet de cr\u00e9er des interfaces utilisateur rapides et dynamiques. Nous vous expliquons comment vous lancer.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstafrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-05T12:22:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:46:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ihechikara Abba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"React est une biblioth\u00e8que JavaScript open source, bas\u00e9e sur des composants, qui permet de cr\u00e9er des interfaces utilisateur rapides et dynamiques. Nous vous expliquons comment vous lancer.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ihechikara Abba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/\"},\"author\":{\"name\":\"Ihechikara Abba\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\"},\"headline\":\"Qu&rsquo;est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire\",\"datePublished\":\"2022-07-05T12:22:29+00:00\",\"dateModified\":\"2025-10-01T19:46:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/\"},\"wordCount\":3459,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png\",\"keywords\":[\"frontend development\",\"JavaScript\",\"JavaScript Libraries\",\"React\",\"React.js\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/\",\"name\":\"Qu'est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png\",\"datePublished\":\"2022-07-05T12:22:29+00:00\",\"dateModified\":\"2025-10-01T19:46:01+00:00\",\"description\":\"React est une biblioth\u00e8que JavaScript open source, bas\u00e9e sur des composants, qui permet de cr\u00e9er des interfaces utilisateur rapides et dynamiques. Nous vous expliquons comment vous lancer.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png\",\"width\":1460,\"height\":730,\"caption\":\"Qu'est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React\",\"item\":\"https:\/\/kinsta.com\/fr\/sujets\/react\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Qu&rsquo;est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/fr\/#website\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstafrance\/\",\"https:\/\/x.com\/kinsta_fr\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\",\"name\":\"Ihechikara Abba\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g\",\"caption\":\"Ihechikara Abba\"},\"description\":\"Ihechikara is a software developer and technical writer. He enjoys writing articles on web technologies, programming, and IT-related topics. Connect with Ihechikara on Twitter.\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/author\/ihechivinabba\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Qu'est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire","description":"React est une biblioth\u00e8que JavaScript open source, bas\u00e9e sur des composants, qui permet de cr\u00e9er des interfaces utilisateur rapides et dynamiques. Nous vous expliquons comment vous lancer.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/","og_locale":"fr_FR","og_type":"article","og_title":"Qu'est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire","og_description":"React est une biblioth\u00e8que JavaScript open source, bas\u00e9e sur des composants, qui permet de cr\u00e9er des interfaces utilisateur rapides et dynamiques. Nous vous expliquons comment vous lancer.","og_url":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2022-07-05T12:22:29+00:00","article_modified_time":"2025-10-01T19:46:01+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png","type":"image\/png"}],"author":"Ihechikara Abba","twitter_card":"summary_large_image","twitter_description":"React est une biblioth\u00e8que JavaScript open source, bas\u00e9e sur des composants, qui permet de cr\u00e9er des interfaces utilisateur rapides et dynamiques. Nous vous expliquons comment vous lancer.","twitter_image":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png","twitter_creator":"@kinsta_fr","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Ihechikara Abba","Dur\u00e9e de lecture estim\u00e9e":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/"},"author":{"name":"Ihechikara Abba","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26"},"headline":"Qu&rsquo;est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire","datePublished":"2022-07-05T12:22:29+00:00","dateModified":"2025-10-01T19:46:01+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/"},"wordCount":3459,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png","keywords":["frontend development","JavaScript","JavaScript Libraries","React","React.js"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/","url":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/","name":"Qu'est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png","datePublished":"2022-07-05T12:22:29+00:00","dateModified":"2025-10-01T19:46:01+00:00","description":"React est une biblioth\u00e8que JavaScript open source, bas\u00e9e sur des composants, qui permet de cr\u00e9er des interfaces utilisateur rapides et dynamiques. Nous vous expliquons comment vous lancer.","breadcrumb":{"@id":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#primaryimage","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/qu-est-react-js.png","width":1460,"height":730,"caption":"Qu'est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"React","item":"https:\/\/kinsta.com\/fr\/sujets\/react\/"},{"@type":"ListItem","position":3,"name":"Qu&rsquo;est-ce que React.js ? Un regard sur la biblioth\u00e8que JavaScript populaire"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/fr\/#website","url":"https:\/\/kinsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstafrance\/","https:\/\/x.com\/kinsta_fr","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26","name":"Ihechikara Abba","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g","caption":"Ihechikara Abba"},"description":"Ihechikara is a software developer and technical writer. He enjoys writing articles on web technologies, programming, and IT-related topics. Connect with Ihechikara on Twitter.","url":"https:\/\/kinsta.com\/fr\/blog\/author\/ihechivinabba\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/59293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/comments?post=59293"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/59293\/revisions"}],"predecessor-version":[{"id":59360,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/59293\/revisions\/59360"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59293\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59293\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59293\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59293\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59293\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59293\/translations\/fr"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59293\/translations\/jp"},{"href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59293\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media\/59357"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media?parent=59293"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/tags?post=59293"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/topic?post=59293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}