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

add translation of memo page #564

Merged
merged 3 commits into from Aug 29, 2023
Merged

add translation of memo page #564

merged 3 commits into from Aug 29, 2023

Conversation

emmadal
Copy link
Contributor

@emmadal emmadal commented Aug 27, 2023

here you will see the memo page for the french translation

@github-actions
Copy link

github-actions bot commented Aug 27, 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 Aug 28, 2023
@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:beginner The author of this translation has little to no prior doc translation experience 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 Aug 28, 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 @emmadal !

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

Bon, on sent le rush. Énormément de fautes de français (accords principalement, ainsi que quelques infinitif/impératif), d'autant que tu n'as pas l'air de décider si prop est singulier ou pluriel (on accorde), masculin ou féminin (c'est féminin, ça vient de propriété), y compris au sein de la même phrase.

Mais globalement ça reste pas mal, alors merci ! 👍 😁

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/reference/react/memo.md Outdated Show resolved Hide resolved
src/content/reference/react/memo.md Outdated Show resolved Hide resolved
src/content/reference/react/memo.md Outdated Show resolved Hide resolved
src/content/reference/react/memo.md Outdated Show resolved Hide resolved
src/content/reference/react/memo.md Outdated Show resolved Hide resolved
@@ -343,21 +343,21 @@ function arePropsEqual(oldProps, newProps) {
}
```

If you do this, use the Performance panel in your browser developer tools to make sure that your comparison function is actually faster than re-rendering the component. You might be surprised.
Dans ce cas, utilisez le panneau performance des outils de développement de votre navigateur pour vous assurer que votre fonction de comparaison est réellement plus rapide que le nouveau rendu du composant. Vous pourriez être surpris.
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
Dans ce cas, utilisez le panneau performance des outils de développement de votre navigateur pour vous assurer que votre fonction de comparaison est réellement plus rapide que le nouveau rendu du composant. Vous pourriez être surpris.
Si vous optez pour cette approche, utilisez le panneau Performances des outils de développement de votre navigateur pour vous assurer que votre fonction de comparaison est réellement plus rapide qu'un nouveau rendu du composant. Vous pourriez être surpris·e.


<Pitfall>

If you provide a custom `arePropsEqual` implementation, **you must compare every prop, including functions.** Functions often [close over](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures) the props and state of parent components. If you return `true` when `oldProps.onClick !== newProps.onClick`, your component will keep "seeing" the props and state from a previous render inside its `onClick` handler, leading to very confusing bugs.
Si vous fournissez une implémentation personnaliséee `arePropsEqual`, **Vous devez comparer chaque props, y compris les fonctions**. Les fonctions sont souvent [fermées sur](https://developer.mozilla.org/fr/docs/Web/JavaScript/Closures) les props et états locaux des composants parent. Si vous renvoyez `true` lorsque `oldProps.onClick !== newProps.onClick`, votre composant continuera à "voir" les props et états locaux d’un rendu précédent à l’intérieur de son gestionnaire `onClick`, ce qui conduit à des bugs très déroutants.
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
Si vous fournissez une implémentation personnaliséee `arePropsEqual`, **Vous devez comparer chaque props, y compris les fonctions**. Les fonctions sont souvent [fermées sur](https://developer.mozilla.org/fr/docs/Web/JavaScript/Closures) les props et états locaux des composants parent. Si vous renvoyez `true` lorsque `oldProps.onClick !== newProps.onClick`, votre composant continuera à "voir" les props et états locaux d’un rendu précédent à l’intérieur de son gestionnaire `onClick`, ce qui conduit à des bugs très déroutants.
Si vous fournissez une implémentation personnalisée de `arePropsEqual`, **vous devez comparer chaque prop, y compris les fonctions**. Les fonctions exploitent souvent une [fermeture lexicale](https://developer.mozilla.org/fr/docs/Web/JavaScript/Closures) sur les props et états des composants parents. Si vous renvoyez `true` lorsque `oldProps.onClick !== newProps.onClick`, votre composant continuera à « voir » les props et états locaux d’un rendu précédent à l’intérieur de son gestionnaire `onClick`, ce qui conduit à des bugs très déroutants.


Avoid doing deep equality checks inside `arePropsEqual` unless you are 100% sure that the data structure you're working with has a known limited depth. **Deep equality checks can become incredibly slow** and can freeze your app for many seconds if someone changes the data structure later.
Evitez de faire des vérifications d’égalité en profondeur dans `arePropsEqual` à moins que vous ne soyez 100% sûr que la structure de données avec laquelle vous travaillez a une profondeur limitée connue. **Les vérifications d’égalité profondes peuvent devenir incroyablement lentes** et peuvent bloquer votre appli pendant plusieurs secondes si quelqu’un change la structure de données plus tard.
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
Evitez de faire des vérifications d’égalité en profondeur dans `arePropsEqual` à moins que vous ne soyez 100% sûr que la structure de données avec laquelle vous travaillez a une profondeur limitée connue. **Les vérifications d’égalité profondes peuvent devenir incroyablement lentes** et peuvent bloquer votre appli pendant plusieurs secondes si quelqu’un change la structure de données plus tard.
Évitez de faire des comparaisons profondes dans `arePropsEqual` à moins que vous ne soyez 100% sûr·e que la structure de données avec laquelle vous travaillez a une profondeur maximale connue. **Les comparaisons profondes peuvent devenir incroyablement lentes** et peuvent bloquer votre appli pendant plusieurs secondes si quelqu’un change la structure de données ultérieurement.

## Troubleshooting {/*troubleshooting*/}
### My component re-renders when a prop is an object, array, or function {/*my-component-rerenders-when-a-prop-is-an-object-or-array*/}
## Dépannage {/*troubleshooting*/}
### Mon composant réaffiche lorsqu’une prop est un objet, array, ou une fonction {/*my-component-rerenders-when-a-prop-is-an-object-or-array*/}
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
### Mon composant réaffiche lorsqu’une prop est un objet, array, ou une fonction {/*my-component-rerenders-when-a-prop-is-an-object-or-array*/}
### Mon composant refait son rendu lorsqu’une prop est un objet, un tableau ou une fonction {/*my-component-rerenders-when-a-prop-is-an-object-or-array*/}


React compares old and new props by shallow equality: that is, it considers whether each new prop is reference-equal to the old prop. If you create a new object or array each time the parent is re-rendered, even if the individual elements are each the same, React will still consider it to be changed. Similarly, if you create a new function when rendering the parent component, React will consider it to have changed even if the function has the same definition. To avoid this, [simplify props or memoize props in the parent component](#minimizing-props-changes).
React compare les anciens et les nouvelles props par égalité superficielle : c’est-à-dire qu’il considère si chaque nouvelle prop est égale par référence à l’ancien. Si vous créez un nouvel objet ou un nouveau array à chaque fois que le composant parent fait son rendu, même si les éléments individuels sont tous identiques, React considérera qu’ils ont été modifiés. De même, si vous créez une nouvelle fonction lors du rendu du composant parent, React considérera qu’il a changé même si la fonction a la même définition. Pour éviter cela, [simplifier les props ou mémoïsez les props dans le composant parent](#minimizing-props-changes).
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
React compare les anciens et les nouvelles props par égalité superficielle : c’est-à-dire qu’il considère si chaque nouvelle prop est égale par référence à l’ancien. Si vous créez un nouvel objet ou un nouveau array à chaque fois que le composant parent fait son rendu, même si les éléments individuels sont tous identiques, React considérera qu’ils ont été modifiés. De même, si vous créez une nouvelle fonction lors du rendu du composant parent, React considérera qu’il a changé même si la fonction a la même définition. Pour éviter cela, [simplifier les props ou mémoïsez les props dans le composant parent](#minimizing-props-changes).
React compare les anciennes et les nouvelles props par égalité superficielle, c’est-à-dire qu’il fait une comparaison par référence des valeurs ancienne et nouvelle pour chaque prop. Si vous créez un nouvel objet ou un nouveau tableau à chaque fois que le composant parent fait son rendu, même si les éléments individuels sont tous identiques, React considérera que la prop est modifiée. De même, si vous créez une nouvelle fonction lors du rendu du composant parent, React considérera qu’elle a changé même si le corps de la fonction est identique. Pour éviter ça, [simplifiez les props ou mémoïsez-les dans le composant parent](#minimizing-props-changes).

@tdd tdd added Reviewed and removed Reviewing Un mainteneur qualifié est en train de composer la revue de code labels Aug 29, 2023
emmadal and others added 3 commits August 29, 2023 11:39
Apply suggestions from code review

Co-authored-by: Christophe Porteneuve <tdd@tddsworld.com>
@tdd tdd merged commit 078917f into reactjs:main Aug 29, 2023
4 checks passed
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:beginner The author of this translation has little to no prior doc translation experience
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants