Skip to content

Commit b70918e

Browse files
authored
Merge pull request #3234 from KartikAroraOfficial/source
Updated: part1c in both en and fr, part1.md in fr.
2 parents b8cfdfb + 87e1669 commit b70918e

File tree

3 files changed

+60
-24
lines changed

3 files changed

+60
-24
lines changed

src/content/1/en/part1c.md

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@ Next, let's make a <i>Button</i> component for the buttons of our application. W
584584
```js
585585
const Button = (props) => {
586586
return (
587-
<button onClick={props.handleClick}>
587+
<button onClick={props.onClick}>
588588
{props.text}
589589
</button>
590590
)
@@ -608,15 +608,15 @@ const App = () => {
608608
<Display counter={counter}/>
609609
// highlight-start
610610
<Button
611-
handleClick={increaseByOne}
611+
onClick={increaseByOne}
612612
text='plus'
613613
/>
614614
<Button
615-
handleClick={setToZero}
615+
onClick={setToZero}
616616
text='zero'
617617
/>
618618
<Button
619-
handleClick={decreaseByOne}
619+
onClick={decreaseByOne}
620620
text='minus'
621621
/>
622622
// highlight-end
@@ -671,9 +671,9 @@ const App = () => {
671671
return (
672672
<div>
673673
<Display counter={counter} />
674-
<Button handleClick={increaseByOne} text="plus" />
675-
<Button handleClick={setToZero} text="zero" />
676-
<Button handleClick={decreaseByOne} text="minus" />
674+
<Button onClick={increaseByOne} text="plus" />
675+
<Button onClick={setToZero} text="zero" />
676+
<Button onClick={decreaseByOne} text="minus" />
677677
</div>
678678
)
679679
}
@@ -720,7 +720,7 @@ We can simplify the Button component as well.
720720
```js
721721
const Button = (props) => {
722722
return (
723-
<button onClick={props.handleClick}>
723+
<button onClick={props.onClick}>
724724
{props.text}
725725
</button>
726726
)
@@ -729,9 +729,24 @@ const Button = (props) => {
729729
730730
We can use destructuring to get only the required fields from <i>props</i>, and use the more compact form of arrow functions:
731731
732+
**NB**: While building your own components, you can name their event handler props anyway you like, for this you can refer to the react's documnetion on [Naming event handler props](https://react.dev/learn/responding-to-events#naming-event-handler-props). It goes as following:
733+
734+
> By convention, event handler props should start with `on`, followed by a capital letter.
735+
For example, the Button component’s `onClick` prop could have been called `onSmash`:
736+
737+
```js
738+
const Button = ({ onClick, text }) => (
739+
<button onClick={onClick}>
740+
{text}
741+
</button>
742+
)
743+
```
744+
745+
could also be called as following:
746+
732747
```js
733-
const Button = ({ handleClick, text }) => (
734-
<button onClick={handleClick}>
748+
const Button = ({ onSmash, text }) => (
749+
<button onClick={onSmash}>
735750
{text}
736751
</button>
737752
)
@@ -740,9 +755,9 @@ const Button = ({ handleClick, text }) => (
740755
We can simplify the Button component once more by declaring the return statement in just one line:
741756
742757
```js
743-
const Button = ({ handleClick, text }) => <button onClick={handleClick}>{text}</button>
758+
const Button = ({ onSmash, text }) => <button onSmash={onSmash}>{text}</button>
744759
```
745760
746-
However, be careful to not oversimplify your components, as this makes adding complexity a more tedious task down the road.
761+
**NB**: However, be careful to not oversimplify your components, as this makes adding complexity a more tedious task down the road.
747762
748763
</div>

src/content/1/fr/part1.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,7 @@ lang: fr
88

99
Dans cette partie, nous nous familiariserons avec la bibliothèque React, que nous utiliserons pour écrire le code qui s'exécute dans le navigateur. Nous examinerons également certaines fonctionnalités de JavaScript qui sont importantes pour comprendre React.
1010

11+
<i>Partie mise à jour le 11 août 2023</i>
12+
- <i>Create React App a été remplacé par Vite</i>
13+
1114
</div>

src/content/1/fr/part1c.md

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ const App = (props) => {
191191
export default App
192192
```
193193

194-
Et le fichier <in>index.js</it> devient :
194+
Et le fichier <in>main.js</it> devient :
195195

196196
```js
197197
import React from 'react'
@@ -251,7 +251,7 @@ Jusqu'à présent, tous nos composants étaient simples dans le sens où ils ne
251251

252252
Ensuite, ajoutons un état au composant <i>App</i> de notre application à l'aide du [state hook](https://reactjs.org/docs/hooks-state.html) de React.
253253

254-
Nous allons modifier l'application comme suit. <i>index.js</i> revient à
254+
Nous allons modifier l'application comme suit. <i>main.js</i> revient à
255255

256256
```js
257257
import React from 'react'
@@ -364,7 +364,10 @@ const App = () => {
364364

365365
Il est facile de suivre les appels effectués à la fonction de rendu du composant <i>App</i> :
366366

367-
![](../../images/1/4e.png)
367+
![Capture d'écran de la fonction de rendu avec les outils de développement.x](../../images/1/4e.png)
368+
369+
Votre console de navigateur était-elle ouverte ? Si ce n'était pas le cas, promettez que ce sera la dernière fois qu'on vous le rappellera.
370+
368371

369372
### Gestion des événements
370373

@@ -624,9 +627,11 @@ const App = () => {
624627
}
625628
```
626629

627-
Puisque nous avons maintenant un composant <i>Button</i> facilement réutilisable, nous avons également implémenté de nouvelles fonctionnalités dans notre application en ajoutant un bouton qui peut être utilisé pour décrémenter le compteur.
630+
Étant donné que nous avons maintenant un composant <i>Button</i> facilement réutilisable, nous avons également implémenté une nouvelle fonctionnalité dans notre application en ajoutant un bouton qui peut être utilisé pour décrémenter le compteur.
631+
632+
Le gestionnaire d'événements est passé au composant <i>Button</i> via la prop _handleClick_. Le nom de la prop en lui-même n'est pas très significatif, mais notre choix de nom n'était pas complètement aléatoire.
628633

629-
Le gestionnaire d'événements est transmis au composant <i>Button</i> via la prop _onClick_. Le nom de la prop lui-même n'est pas assez significatif, mais notre choix de nom n'était pas complètement aléatoire. Le [tutoriel](https://reactjs.org/tutorial/tutorial.html) officiel de React suggère cette convention.
634+
Le [tutoriel](https://react.dev/learn/tutorial-tic-tac-toe) officiel de React suggère : "En React, il est conventionnel d'utiliser des noms de type onSomething pour les props qui représentent des événements et handleSomething pour les définitions de fonctions qui gèrent ces événements."
630635

631636
### Les changements d'état entraînent un nouveau rendu
632637

@@ -656,7 +661,7 @@ const Display = (props) => {
656661
```
657662

658663
Le composant utilise uniquement le champ _counter_ de ses <i>props</i>.
659-
Cela signifie que nous pouvons simplifier le composant en utilisant la [déstructuration](/fr/part1/etat_des_composants_gestionnaires_devenements#destructuration), comme ceci :
664+
Cela signifie que nous pouvons simplifier le composant en utilisant [la destructuration](/fr/part1/etat_des_composants_gestionnaires_devenements#destructuration), comme ceci :
660665

661666
```js
662667
const Display = ({ counter }) => {
@@ -666,8 +671,7 @@ const Display = ({ counter }) => {
666671
}
667672
```
668673

669-
La fonction définissant le composant ne contient que l'instruction return, donc
670-
nous pouvons définir la fonction en utilisant la forme plus compacte des fonctions fléchées :
674+
La fonction qui définit le composant ne contient que l'instruction de retour, nous pouvons donc définir la fonction en utilisant la forme plus compacte des fonctions fléchées :
671675

672676
```js
673677
const Display = ({ counter }) => <div>{counter}</div>
@@ -685,7 +689,12 @@ const Button = (props) => {
685689
}
686690
```
687691

688-
Nous pouvons utiliser la déstructuration pour obtenir uniquement les champs requis à partir de <i>props</i>, et utiliser la forme plus compacte des fonctions fléchées :
692+
Nous pouvons utiliser la destructuration pour obtenir uniquement les champs requis des <i>props</i> et utiliser la forme plus compacte des fonctions fléchées :
693+
694+
**NB** : Lors de la création de vos propres composants, vous pouvez nommer les props des gestionnaires d'événements comme bon vous semble, pour cela, vous pouvez vous référer à la documentation de React sur [Naming event handler props](https://react.dev/learn/responding-to-events#naming-event-handler-props). Cela se présente comme suit :
695+
696+
> Par convention, les props des gestionnaires d'événements doivent commencer par `on`, suivi d'une lettre majuscule.
697+
Par exemple, la prop `onClick` du composant Button aurait pu s'appeler `onSmash` :
689698

690699
```js
691700
const Button = ({ onClick, text }) => (
@@ -695,12 +704,21 @@ const Button = ({ onClick, text }) => (
695704
)
696705
```
697706

698-
Nous pouvons simplifier une fois de plus le composant Button en déclarant l'instruction return sur une seule ligne :
707+
ou encore comme suit :
708+
709+
```js
710+
const Button = ({ onSmash, text }) => (
711+
<button onClick={onSmash}>
712+
{text}
713+
</button>
714+
```
715+
716+
Nous pouvons simplifier une fois de plus le composant Button en déclarant l'instruction de retour en une seule ligne :
699717
700718
```js
701-
const Button = ({ onClick, text }) => <button onClick={onClick}>{text}</button>
719+
const Button = ({ onSmash, text }) => <button onSmash={onSmash}>{text}</button>
702720
```
703721
704-
Cependant, veillez à ne pas trop simplifier vos composants, car cela pourrait rendre la lecture du code plus fastidieuse.
722+
**NB** : Cependant, veillez à ne pas trop simplifier vos composants, car cela rend l'ajout de complexité plus fastidieux par la suite.
705723
706724
</div>

0 commit comments

Comments
 (0)