Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translation: Lifecycle of Reactive Effects page #491

Merged
merged 5 commits into from Jun 28, 2023

Conversation

linsolas
Copy link
Contributor

@linsolas linsolas commented Jun 1, 2023

Bonsoir @tdd,

Ma nouvelle PR, pour la traduction de Lifecycle of Reactive Effects.

@github-actions
Copy link

github-actions bot commented Jun 1, 2023

Size changes

📦 Next.js Bundle Analysis for react-dev

This analysis was generated by the Next.js Bundle Analysis action. 🤖

This PR introduced no changes to the JavaScript bundle! 🙌

@tdd tdd self-assigned this Jun 1, 2023
@tdd tdd self-requested a review June 1, 2023 21:10
@tdd tdd added Pending Review Un mainteneur qualifié doit encore faire la revue de cette PR scope:required-pages Part of the required translations before we can ship translator:seasoned The author of that translation is a seasoned React docs translator labels Jun 1, 2023
@tdd tdd changed the title doc(lifecycle-of-reactive-effects): french translation Translation: Lifecycle of Reactive Effects page Jun 2, 2023
@tdd tdd added Reviewing Un mainteneur qualifié est en train de composer la revue de code and removed Pending Review Un mainteneur qualifié doit encore faire la revue de cette PR labels Jun 4, 2023
Copy link
Collaborator

@tdd tdd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Salut @linsolas !

Avant toute chose, merci pour tout ce boulot ! C'est super cool de nous filer un coup de main.

Cette page était énorme, ce qui fait qu'avec mon mois de juin surbooké la review s'est étalée dans le temps, mais la voici enfin !

Outre les refactos courantes, pas mal de tweaks sur le mix masculin/féminin pour parler de variables/valeurs/URL qui sont toujours au féminin, du coup, vu leur nature. Donc "réactive", etc.

Également un point fréquent sur "monter" et "démonter", qui sont des actions réalisées par le parent du composant, pas le composant lui-même (il "est monté", il ne "se monte" pas).

Mille mercis en tout cas pour tout ce boulot !

Avant de traiter les retours, lis bien TOUT ce message, notamment les consignes d'intégration optimale des retours par lot(s)

Tout est fait sous forme de Suggestions GitHub, il te suffit à chaque suggestion que tu approuves de
cliquer le bouton d'ajout au lot de modifs à committer (pas de commit direct !), et sur la fin de créer le commit groupé. (ce mode de regroupement en un seul commit est à favoriser absolument, mais tu devras aller dans l'onglet Files changed pour y accéder, il n'est pas utilisable dans l’onglet Conversation)

Si certaines appellent discussion, n'hésite pas, tu réponds, on en parle, on avance ensemble 🤝

Quand tout sera bouclé côté code, je ferai une repasse visuelle finale en local avant de fusionner. J'y recalerai si besoin les usual suspects : espaces insécables avant les ponctuations doubles, et apostrophes françaises.

Encore mille mercis, j'ai hâte de voir cette PR finalisée et dans main !

src/content/learn/lifecycle-of-reactive-effects.md Outdated Show resolved Hide resolved
src/content/learn/lifecycle-of-reactive-effects.md Outdated Show resolved Hide resolved
src/content/learn/lifecycle-of-reactive-effects.md Outdated Show resolved Hide resolved
src/content/learn/lifecycle-of-reactive-effects.md Outdated Show resolved Hide resolved

This is why it makes sense to describe them as two separate Effects. Here's an example of how you could do this:
C'est pourquoi c'est logique de les décrire comme deux Effets distincts. Voici un exemple de ce que vous pouvez faire :
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
C'est pourquoi c'est logique de les décrire comme deux Effets distincts. Voici un exemple de ce que vous pouvez faire :
C'est pourquoi il est logique de les décrire comme deux Effets distincts. Voici un exemple de ce que vous pouvez faire :

@@ -1797,9 +1798,9 @@ export default function Page() {
let ignore = false;
fetchData('/planets').then(result => {
if (!ignore) {
console.log('Fetched a list of planets.');
console.log("Récupération d'une liste de planètes.");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
console.log("Récupération d'une liste de planètes.");
console.log("Récupération dune liste de planètes.");

@@ -1809,16 +1810,16 @@ export default function Page() {

useEffect(() => {
if (planetId === '') {
// Nothing is selected in the first box yet
// Rien n'est choisi dans la première liste
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Rien n'est choisi dans la première liste
// Rien nest choisi dans la première liste

@@ -1939,9 +1940,9 @@ label { display: block; margin-bottom: 10px; }

</Sandpack>

This code is a bit repetitive. However, that's not a good reason to combine it into a single Effect! If you did this, you'd have to combine both Effect's dependencies into one list, and then changing the planet would refetch the list of all planets. Effects are not a tool for code reuse.
Ce code est un tantinet répétitif. Cependant, ce n'est pas une bonne raison pour tout mettre dans un seul Effet ! Si vous faisiez ça, vous devriez combiner les dépendances des deux Effets dans une seule liste, et le changement de la planète entraînerait la récupération de toutes les planètes. Les Effets ne sont pas un outil pour la réutilisation de code.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Ce code est un tantinet répétitif. Cependant, ce n'est pas une bonne raison pour tout mettre dans un seul Effet ! Si vous faisiez ça, vous devriez combiner les dépendances des deux Effets dans une seule liste, et le changement de la planète entraînerait la récupération de toutes les planètes. Les Effets ne sont pas un outil pour la réutilisation de code.
Ce code est un tantinet répétitif. Cependant, ce n'est pas une raison pour tout mettre dans un seul Effet ! Si vous faisiez ça, vous devriez combiner les dépendances des deux Effets dans une seule liste, et le changement de la planète entraînerait la récupération de toutes les planètes. Les Effets ne servent pas à réutiliser du code.

@@ -2102,7 +2103,7 @@ label { display: block; margin-bottom: 10px; }

</Sandpack>

Check the `useSelectOptions.js` tab in the sandbox to see how it works. Ideally, most Effects in your application should eventually be replaced by custom Hooks, whether written by you or by the community. Custom Hooks hide the synchronization logic, so the calling component doesn't know about the Effect. As you keep working on your app, you'll develop a palette of Hooks to choose from, and eventually you won't need to write Effects in your components very often.
Regardez l'onglet `useSelectOptions.js` dans le bac à sable pour voir son fonctionnement. Dans l'idéal, la plupart des Effets de votre application devraient être remplacés par des Hooks personnalisés, qu'ils soient écrits par vous ou par la communauté. Les Hooks personnalisés cachent la logique de synchronisation, de sorte que le composant appelant ne sait rien de l'Effet. Au fur et à mesure que vous travaillerez sur votre appli, vous développerez une palette de Hooks parmi lesquels vous pourrez choisir, et finalement vous n'aurez plus besoin d'écrire des Effets dans vos composants très souvent.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Regardez l'onglet `useSelectOptions.js` dans le bac à sable pour voir son fonctionnement. Dans l'idéal, la plupart des Effets de votre application devraient être remplacés par des Hooks personnalisés, qu'ils soient écrits par vous ou par la communauté. Les Hooks personnalisés cachent la logique de synchronisation, de sorte que le composant appelant ne sait rien de l'Effet. Au fur et à mesure que vous travaillerez sur votre appli, vous développerez une palette de Hooks parmi lesquels vous pourrez choisir, et finalement vous n'aurez plus besoin d'écrire des Effets dans vos composants très souvent.
Regardez l'onglet `useSelectOptions.js` dans le bac à sable pour voir son fonctionnement. Dans l'idéal, la plupart des Effets de votre application devraient au final être remplacés par des Hooks personnalisés, qu'ils soient écrits par vous ou par la communauté. Les Hooks personnalisés cachent la logique de synchronisation, de sorte que le composant appelant ne sait rien de l'Effet. Au fur et à mesure que vous travaillerez sur votre appli, vous développerez une palette de Hooks parmi lesquels choisir, et finalement vous n'aurez plus que rarement besoin d'écrire des Effets dans vos composants.

Copy link
Collaborator

@tdd tdd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Salut @linsolas !

Avant toute chose, merci pour tout ce boulot ! C'est super cool de nous filer un coup de main.

Cette page était énorme, ce qui fait qu'avec mon mois de juin surbooké la review s'est étalée dans le temps, mais la voici enfin !

Outre les refactos courantes, pas mal de tweaks sur le mix masculin/féminin pour parler de variables/valeurs/URL qui sont toujours au féminin, du coup, vu leur nature. Donc "réactive", etc.

Également un point fréquent sur "monter" et "démonter", qui sont des actions réalisées par le parent du composant, pas le composant lui-même (il "est monté", il ne "se monte" pas).

Mille mercis en tout cas pour tout ce boulot !

Avant de traiter les retours, lis bien TOUT ce message, notamment les consignes d'intégration optimale des retours par lot(s)

Tout est fait sous forme de Suggestions GitHub, il te suffit à chaque suggestion que tu approuves de
cliquer le bouton d'ajout au lot de modifs à committer (pas de commit direct !), et sur la fin de créer le commit groupé. (ce mode de regroupement en un seul commit est à favoriser absolument, mais tu devras aller dans l'onglet Files changed pour y accéder, il n'est pas utilisable dans l’onglet Conversation)

Si certaines appellent discussion, n'hésite pas, tu réponds, on en parle, on avance ensemble 🤝

Quand tout sera bouclé côté code, je ferai une repasse visuelle finale en local avant de fusionner. J'y recalerai si besoin les usual suspects : espaces insécables avant les ponctuations doubles, et apostrophes françaises.

Encore mille mercis, j'ai hâte de voir cette PR finalisée et dans main !

@tdd tdd added Reviewed and removed Reviewing Un mainteneur qualifié est en train de composer la revue de code labels Jun 20, 2023
Co-authored-by: Christophe Porteneuve <tdd@tddsworld.com>
@linsolas
Copy link
Contributor Author

Merci @tdd pour ta revue !

J'ai appliqué tes modifs et tes recommandations.
J'en profite pour revoir ce soir mes 2 autres PR (#493 et #497)

@tdd tdd merged commit 18a4503 into reactjs:main Jun 28, 2023
4 checks passed
@linsolas linsolas deleted the lifecycle-of-reactive-effects branch July 7, 2023 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Reviewed scope:required-pages Part of the required translations before we can ship translator:seasoned The author of that translation is a seasoned React docs translator
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants