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
Conversation
Size changes📦 Next.js Bundle Analysis for react-devThis analysis was generated by the Next.js Bundle Analysis action. 🤖 This PR introduced no changes to the JavaScript bundle! 🙌 |
There was a problem hiding this 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
@@ -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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
src/content/reference/react/memo.md
Outdated
|
||
<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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
src/content/reference/react/memo.md
Outdated
|
||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
src/content/reference/react/memo.md
Outdated
## 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*/} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### 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*/} |
src/content/reference/react/memo.md
Outdated
|
||
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). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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). |
Apply suggestions from code review Co-authored-by: Christophe Porteneuve <tdd@tddsworld.com>
here you will see the memo page for the french translation