You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/7/fr/part7c.md
+170Lines changed: 170 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -471,4 +471,174 @@ Au lieu d'utiliser la bibliothèque [React Bootstrap](https://react-bootstrap.gi
471
471
</Table>
472
472
```
473
473
474
+
Nous aurions pu utiliser une <i>table</i> HTML régulière et ajouter la classe CSS requise:
475
+
476
+
```js
477
+
<table className="table striped">
478
+
// ...
479
+
</table>
480
+
```
481
+
482
+
L'avantage d'utiliser la bibliothèque React Bootstrap n'est pas évident à partir de cet exemple.
483
+
484
+
En plus de rendre le code frontend plus compact et lisible, un autre avantage d'utiliser les bibliothèques de frameworks UI React est qu'elles incluent le JavaScript nécessaire pour faire fonctionner certains composants. Certains composants Bootstrap nécessitent quelques [dépendances JavaScript](https://getbootstrap.com/docs/4.1/getting-started/introduction/#js) désagréables que nous préférerions ne pas inclure dans nos applications React.
485
+
486
+
Certains inconvénients potentiels de l'utilisation de frameworks UI via des bibliothèques d'intégration au lieu de les utiliser "directement" sont que les bibliothèques d'intégration peuvent avoir des API instables et une documentation pauvre. La situation avec [Semantic UI React](https://react.semantic-ui.com) est beaucoup mieux que celle de nombreux autres frameworks UI, car il s'agit d'une bibliothèque d'intégration React officielle.
487
+
488
+
Il y a aussi la question de savoir si les bibliothèques de frameworks UI devraient être utilisées en premier lieu. C'est à chacun de se forger sa propre opinion, mais pour les personnes manquant de connaissances en CSS et en design web, elles sont des outils très utiles.
489
+
490
+
### Autres frameworks UI
491
+
492
+
Voici quelques autres frameworks UI pour votre considération. Si vous ne voyez pas votre framework UI préféré dans la liste, veuillez faire une demande de modification (pull request) au matériel du cours.
Il existe également [d'autres manières](https://blog.bitsrc.io/5-ways-to-style-react-components-in-2019-30f1ccc2b5b) de styliser les applications React que nous n'avons pas encore examinées.
520
+
521
+
La bibliothèque [styled components](https://www.styled-components.com/) propose une approche intéressante pour définir des styles en utilisant des [littéraux de template étiquetés](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#tagged_templates), introduits dans ES6.
522
+
523
+
Faisons quelques changements aux styles de notre application avec l'aide de styled components. Tout d'abord, installez le paquet avec la commande:
524
+
525
+
```bash
526
+
npm install styled-components
527
+
```
528
+
529
+
Ensuite, définissons deux composants avec des styles:
530
+
531
+
```js
532
+
importstyledfrom'styled-components'
533
+
534
+
constButton=styled.button`
535
+
background: Bisque;
536
+
font-size: 1em;
537
+
margin: 1em;
538
+
padding: 0.25em 1em;
539
+
border: 2px solid Chocolate;
540
+
border-radius: 3px;
541
+
`
542
+
543
+
constInput=styled.input`
544
+
margin: 0.25em;
545
+
`
546
+
```
547
+
548
+
Le code ci-dessus crée des versions stylisées des éléments HTML <i>button</i> et <i>input</i>, puis les assigne aux variables <i>Button</i> et <i>Input</i>.
549
+
550
+
La syntaxe pour définir les styles est assez intéressante, car les règles CSS sont définies à l'intérieur des accents graves (backticks).
551
+
552
+
Les composants stylisés que nous avons définis fonctionnent exactement comme les éléments <i>button</i> et <i>input</i> habituels, et ils peuvent être utilisés de la même manière:
<em>Note app, Department of Computer Science 2022</em>
624
+
</Footer>// highlight-line
625
+
</Page>// highlight-line
626
+
)
627
+
}
628
+
```
629
+
630
+
L'apparence de l'application résultante est illustrée ci-dessous:
631
+
632
+

633
+
634
+
Les composants stylisés ont connu une croissance constante en popularité récemment, et un assez grand nombre de personnes les considèrent comme la meilleure manière de définir des styles dans les applications React.
635
+
636
+
</div>
637
+
638
+
<divclass="tasks">
639
+
640
+
### Exercices
641
+
642
+
Les exercices liés aux sujets présentés ici se trouvent à la fin de cette section du matériel de cours, dans l'ensemble d'exercices [pour étendre l'application de liste de blogs](/en/part7/exercises_extending_the_bloglist).
0 commit comments