diff --git a/src/components/DocsFooter.tsx b/src/components/DocsFooter.tsx index 1c257b66a..c4c2dc2f3 100644 --- a/src/components/DocsFooter.tsx +++ b/src/components/DocsFooter.tsx @@ -78,15 +78,9 @@ function FooterLink({ className="inline text-tertiary dark:text-tertiary-dark group-focus:text-link dark:group-focus:text-link-dark" displayDirection={type === 'Previous' ? 'start' : 'end'} /> -<<<<<<< HEAD - - - {type === 'Next' ? 'Suivant' : 'Précédent'} -=======
- {type} ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a + {type === 'Next' ? 'Suivant' : 'Précédent'} {title} diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 12780fa74..da0c8ae78 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -13,7 +13,7 @@ Vous connaissez une conférence React.js locale ? Ajoutez-la ! (Merci de conse ### React Paris 2024 {/*react-paris-2024*/} March 22, 2024. In-person in Paris, France + Remote (hybrid) -[Website](https://react.paris/) - [Twitter](https://twitter.com/BeJS_) - [LinkedIn](https://www.linkedin.com/events/7150816372074192900/comments/) +[Site web](https://react.paris/) - [Twitter](https://twitter.com/BeJS_) - [LinkedIn](https://www.linkedin.com/events/7150816372074192900/comments/) ### App.js Conf 2024 {/*appjs-conf-2024*/} May 22 - 24, 2024. In-person in Kraków, Poland + remote @@ -28,7 +28,7 @@ June 12 - June 14, 2024. Atlanta, GA, USA ### React Nexus 2024 {/*react-nexus-2024*/} July 04 & 05, 2024. Bangalore, India (In-person event) -[Website](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in) +[Site web](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in) ### React India 2024 {/*react-india-2024*/} October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day @@ -60,11 +60,7 @@ October 20 & 23, 2023. In-person in London, UK + remote first interactivity (hyb ### React Brussels 2023 {/*react-brussels-2023*/} October 13th 2023. In-person in Brussels, Belgium + Remote (hybrid) -<<<<<<< HEAD -[Site web](https://www.react.brussels/) - [Twitter](https://twitter.com/BrusselsReact) -======= -[Website](https://www.react.brussels/) - [Twitter](https://twitter.com/BrusselsReact) - [Videos](https://www.youtube.com/playlist?list=PL53Z0yyYnpWh85KeMomUoVz8_brrmh_aC) ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a +[Site web](https://www.react.brussels/) - [Twitter](https://twitter.com/BrusselsReact) - [Vidéos](https://www.youtube.com/playlist?list=PL53Z0yyYnpWh85KeMomUoVz8_brrmh_aC) ### React India 2023 {/*react-india-2023*/} October 5 - 7, 2023. In-person in Goa, India (hybrid event) + Oct 3 2023 - remote day diff --git a/src/content/community/meetups.md b/src/content/community/meetups.md index fd7b48850..f696d8e4d 100644 --- a/src/content/community/meetups.md +++ b/src/content/community/meetups.md @@ -18,12 +18,13 @@ Vous connaissez un meetup React.js local ? Ajoutez-le ! (Merci de conserver un * [Karlsruhe](https://www.meetup.com/react_ka/) * [Kiel](https://www.meetup.com/Kiel-React-Native-Meetup/) * [Munich](https://www.meetup.com/ReactJS-Meetup-Munich/) -* [React Berlin](https://www.meetup.com/React-Open-Source/) +* [React Berlin](https://guild.host/react-berlin) ## Angleterre (R.-U.) {/*england-uk*/} * [Manchester](https://www.meetup.com/Manchester-React-User-Group/) * [React.JS Girls London](https://www.meetup.com/ReactJS-Girls-London/) -* [React London : Bring Your Own Project](https://www.meetup.com/React-London-Bring-Your-Own-Project/) +* [React Advanced London](https://guild.host/react-advanced-london) +* [React Native London](https://guild.host/RNLDN) ## Argentine {/*argentina*/} * [Buenos Aires](https://www.meetup.com/es/React-en-Buenos-Aires) @@ -80,100 +81,7 @@ Vous connaissez un meetup React.js local ? Ajoutez-le ! (Merci de conserver un * [Aalborg](https://www.meetup.com/Aalborg-React-React-Native-Meetup/) * [Aarhus](https://www.meetup.com/Aarhus-ReactJS-Meetup/) -<<<<<<< HEAD ## Écosse (R.-U.) {/*scotland-uk*/} -======= -## Egypt {/*egypt*/} -* [Cairo](https://www.meetup.com/react-cairo/) - -## England (UK) {/*england-uk*/} -* [Manchester](https://www.meetup.com/Manchester-React-User-Group/) -* [React.JS Girls London](https://www.meetup.com/ReactJS-Girls-London/) -* [React Advanced London](https://guild.host/react-advanced-london) -* [React Native London](https://guild.host/RNLDN) - -## France {/*france*/} -* [Nantes](https://www.meetup.com/React-Nantes/) -* [Lille](https://www.meetup.com/ReactBeerLille/) -* [Paris](https://www.meetup.com/ReactJS-Paris/) - -## Germany {/*germany*/} -* [Cologne](https://www.meetup.com/React-Cologne/) -* [Düsseldorf](https://www.meetup.com/de-DE/ReactJS-Meetup-Dusseldorf/) -* [Hamburg](https://www.meetup.com/Hamburg-React-js-Meetup/) -* [Karlsruhe](https://www.meetup.com/react_ka/) -* [Kiel](https://www.meetup.com/Kiel-React-Native-Meetup/) -* [Munich](https://www.meetup.com/ReactJS-Meetup-Munich/) -* [React Berlin](https://guild.host/react-berlin) - -## Greece {/*greece*/} -* [Athens](https://www.meetup.com/React-To-React-Athens-MeetUp/) -* [Thessaloniki](https://www.meetup.com/Thessaloniki-ReactJS-Meetup/) - -## Hungary {/*hungary*/} -* [Budapest](https://www.meetup.com/React-Budapest/) - -## India {/*india*/} -* [Ahmedabad](https://www.meetup.com/react-ahmedabad/) -* [Bangalore (React)](https://www.meetup.com/ReactJS-Bangalore/) -* [Bangalore (React Native)](https://www.meetup.com/React-Native-Bangalore-Meetup) -* [Chennai](https://www.meetup.com/React-Chennai/) -* [Delhi NCR](https://www.meetup.com/React-Delhi-NCR/) -* [Mumbai](https://reactmumbai.dev) -* [Pune](https://www.meetup.com/ReactJS-and-Friends/) - -## Indonesia {/*indonesia*/} -* [Indonesia](https://www.meetup.com/reactindonesia/) - -## Ireland {/*ireland*/} -* [Dublin](https://guild.host/reactjs-dublin) - -## Israel {/*israel*/} -* [Tel Aviv](https://www.meetup.com/ReactJS-Israel/) - -## Italy {/*italy*/} -* [Milan](https://www.meetup.com/React-JS-Milano/) - -## Kenya {/*kenya*/} -* [Nairobi - Reactdevske](https://kommunity.com/reactjs-developer-community-kenya-reactdevske) - -## Malaysia {/*malaysia*/} -* [Kuala Lumpur](https://www.kl-react.com/) -* [Penang](https://www.facebook.com/groups/reactpenang/) - -## Netherlands {/*netherlands*/} -* [Amsterdam](https://guild.host/react-amsterdam) - -## New Zealand {/*new-zealand*/} -* [Wellington](https://www.meetup.com/React-Wellington/) - -## Norway {/*norway*/} -* [Norway](https://reactjs-norway.webflow.io/) -* [Oslo](https://www.meetup.com/ReactJS-Oslo-Meetup/) - -## Pakistan {/*pakistan*/} -* [Karachi](https://www.facebook.com/groups/902678696597634/) -* [Lahore](https://www.facebook.com/groups/ReactjsLahore/) - -## Panama {/*panama*/} -* [Panama](https://www.meetup.com/React-Panama/) - -## Peru {/*peru*/} -* [Lima](https://www.meetup.com/ReactJS-Peru/) - -## Philippines {/*philippines*/} -* [Manila](https://www.meetup.com/reactjs-developers-manila/) -* [Manila - ReactJS PH](https://www.meetup.com/ReactJS-Philippines/) - -## Poland {/*poland*/} -* [Warsaw](https://www.meetup.com/React-js-Warsaw/) -* [Wrocław](https://www.meetup.com/ReactJS-Wroclaw/) - -## Portugal {/*portugal*/} -* [Lisbon](https://www.meetup.com/JavaScript-Lisbon/) - -## Scotland (UK) {/*scotland-uk*/} ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a * [Edinburgh](https://www.meetup.com/React-Scotland/) ## Égypte {/*egypt*/} @@ -256,7 +164,7 @@ Vous connaissez un meetup React.js local ? Ajoutez-le ! (Merci de conserver un * [Indonesia](https://www.meetup.com/reactindonesia/) ## Irlande {/*ireland*/} -* [Dublin](https://www.meetup.com/ReactJS-Dublin/) +* [Dublin](https://guild.host/reactjs-dublin) ## Israël {/*israel*/} * [Tel Aviv](https://www.meetup.com/ReactJS-Israel/) @@ -286,7 +194,7 @@ Vous connaissez un meetup React.js local ? Ajoutez-le ! (Merci de conserver un * [Panama](https://www.meetup.com/React-Panama/) ## Pays-Bas {/*netherlands*/} -* [Amsterdam](https://www.meetup.com/React-Amsterdam/) +* [Amsterdam](https://guild.host/react-amsterdam) ## Pérou {/*peru*/} * [Lima](https://www.meetup.com/ReactJS-Peru/) diff --git a/src/content/community/versioning-policy.md b/src/content/community/versioning-policy.md index ba0afc039..a165df75d 100644 --- a/src/content/community/versioning-policy.md +++ b/src/content/community/versioning-policy.md @@ -79,15 +79,9 @@ Cette section s'adresse surtout aux développeurs·ses qui travaillent sur des f Chaque canal de livraison de React est conçu pour un cas d'utilisation précis : -<<<<<<< HEAD - [**Latest**](#latest-channel) est dédié aux versions stables de React, basées sur *semver*. C'est ce que vous récupérez lorsque vous installez React avec npm. C'est le canal que vous utilisez déjà aujourd'hui. **Les applications basées sur React et destinées aux utilisateurs finaux utilisent ce canal**. - [**Canary**](#canary-channel) suit la branche principale du dépôt du code source de React. Voyez-les comme des versions candidates pour la prochaine version *semver*. **[Les frameworks et autres environnements choisis peuvent décider d'utiliser ce canal avec une version épinglée de React](/blog/2023/05/03/react-canaries). Vous pouvez aussi utiliser les versions Canary pour tester l'intégration de React avec des projets tiers.** - [**Expérimental**](#experimental-channel) inclut les API et fonctionnalités expérimentales qui ne sont pas disponibles dans les versions stables. Il suit lui aussi la branche principale, mais avec certains drapeaux de fonctionnalités supplémentaires activés. Vous pouvez l'utiliser pour tester en amont les prochaines fonctionnalités avant qu'elles ne soient livrées. -======= -- [**Latest**](#latest-channel) is for stable, semver React releases. It's what you get when you install React from npm. This is the channel you're already using today. **User-facing applications that consume React directly use this channel.** -- [**Canary**](#canary-channel) tracks the main branch of the React source code repository. Think of these as release candidates for the next semver release. **[Frameworks or other curated setups may choose to use this channel with a pinned version of React.](/blog/2023/05/03/react-canaries) You can also use Canaries for integration testing between React and third party projects.** -- [**Experimental**](#experimental-channel) includes experimental APIs and features that aren't available in the stable releases. These also track the main branch, but with additional feature flags turned on. Use this to try out upcoming features before they are released. ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a Toutes ces livraisons sont publiées sur npm, mais seules les *Latest* utilisent le versionnement sémantique. Les pré-versions (celles des canaux Canary et Expérimental) ont des versions générées à partir d'une empreinte de leur contenu et de la date du commit, par exemple `18.3.0-canary-388686f29-20230503` pour Canary et `0.0.0-experimental-388686f29-20230503` pour Expérimental. diff --git a/src/content/errors/377.md b/src/content/errors/377.md index 6269e9d06..7a21bc7fe 100644 --- a/src/content/errors/377.md +++ b/src/content/errors/377.md @@ -1,13 +1,13 @@ -In the minified production build of React, we avoid sending down full error messages in order to reduce the number of bytes sent over the wire. +Dans le *build* de production minifié de React, nous évitons d'inclure les messages d'erreur complets afin de réduire le nombre d'octets transmis sur le réseau. -We highly recommend using the development build locally when debugging your app since it tracks additional debug info and provides helpful warnings about potential problems in your apps, but if you encounter an exception while using the production build, this page will reassemble the original error message. +Nous vous recommandons fortement d'utiliser le *build* de développement en local lorsque vous déboguez votre appli, dans la mesure où il fournit des informations de débogage supplémentaires et des avertissements utiles sur des problèmes potentiels dans vos applis, mais si vous rencontrez une exception en utilisant le *build* de production, cette page reconstruira le message d'erreur original. -The full text of the error you just encountered is: +Le texte complet de l'erreur que vous venez de rencontrer est le suivant : -This error occurs when you pass a BigInt value from a Server Component to a Client Component. +Cette erreur survient lorsque vous passez une valeur `BigInt` depuis un Composant Serveur vers un Composant Client. diff --git a/src/content/errors/generic.md b/src/content/errors/generic.md index 27c3ca52d..624d482e7 100644 --- a/src/content/errors/generic.md +++ b/src/content/errors/generic.md @@ -1,11 +1,11 @@ -In the minified production build of React, we avoid sending down full error messages in order to reduce the number of bytes sent over the wire. +Dans le *build* de production minifié de React, nous évitons d'inclure les messages d'erreur complets afin de réduire le nombre d'octets transmis sur le réseau. -We highly recommend using the development build locally when debugging your app since it tracks additional debug info and provides helpful warnings about potential problems in your apps, but if you encounter an exception while using the production build, this page will reassemble the original error message. +Nous vous recommandons fortement d'utiliser le *build* de développement en local lorsque vous déboguez votre appli, dans la mesure où il fournit des informations de débogage supplémentaires et des avertissements utiles sur des problèmes potentiels dans vos applis, mais si vous rencontrez une exception en utilisant le *build* de production, cette page reconstruira le message d'erreur original. -The full text of the error you just encountered is: +Le texte complet de l'erreur que vous venez de rencontrer est le suivant : diff --git a/src/content/errors/index.md b/src/content/errors/index.md index 25746d25d..4c775f90b 100644 --- a/src/content/errors/index.md +++ b/src/content/errors/index.md @@ -1,10 +1,9 @@ -In the minified production build of React, we avoid sending down full error messages in order to reduce the number of bytes sent over the wire. +Dans le *build* de production minifié de React, nous évitons d'inclure les messages d'erreur complets afin de réduire le nombre d'octets transmis sur le réseau. +Nous vous recommandons fortement d'utiliser le *build* de développement en local lorsque vous déboguez votre appli, dans la mesure où il fournit des informations de débogage supplémentaires et des avertissements utiles sur des problèmes potentiels dans vos applis, mais si vous rencontrez une exception en utilisant le *build* de production, le message d'erreur incluera un lien vers la documentation pour cette erreur. -We highly recommend using the development build locally when debugging your app since it tracks additional debug info and provides helpful warnings about potential problems in your apps, but if you encounter an exception while using the production build, the error message will include just a link to the docs for the error. - -For an example, see: [https://react.dev/errors/149](/errors/421). +À titre d'exemple, consultez : [https://fr.react.dev/errors/421](/errors/421). diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md index c4007bb25..9031bf56e 100644 --- a/src/content/reference/react-dom/components/form.md +++ b/src/content/reference/react-dom/components/form.md @@ -5,11 +5,7 @@ canary: true -<<<<<<< HEAD Les extensions de React à `
` ne sont actuellement disponibles que sur les canaux de livraison Canary et Expérimental de React. Dans les versions stables de React, `` fonctionne comme [le composant HTML natif du navigateur](https://react.dev/reference/react-dom/components#all-html-components). Apprenez-en davantage sur [les canaux de livraison React](/community/versioning-policy#all-release-channels). -======= -React's extensions to `` are currently only available in React's canary and experimental channels. In stable releases of React, `` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a @@ -121,11 +117,7 @@ function AddToCart({productId}) { } ``` -<<<<<<< HEAD Plutôt que de fournir les données à l'action du `` au moyen de champs cachés, vous pouvez recourir à la méthode `bind` pour pré-remplir ses arguments. Dans l'exemple qui suit, on pré-remplit un argument (`productId`) pour la fonction, en plus des `formData` qui lui sont passées par défaut. -======= -In lieu of using hidden form fields to provide data to the ``'s action, you can call the `bind` method to supply it with extra arguments. This will bind a new argument (`productId`) to the function in addition to the `formData` that is passed as an argument to the function. ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a ```jsx [[1, 8, "bind"], [2,8, "productId"], [2,4, "productId"], [3,4, "formData"]] import { updateCart } from './lib.js'; @@ -285,11 +277,7 @@ Pour en apprendre davantage, consultez la [documentation de référence du Hook ### Gérer les erreurs d'envoi du formulaire {/*handling-form-submission-errors*/} -<<<<<<< HEAD Il peut arriver que la fonction appelée par la prop `action` de `` lève une erreur. Vous pouvez traiter ces erreurs en enrobant `` dans un périmètre d'erreur. Si la fonction appelée par la prop `action` de `` lève une erreur, le contenu de secours du périmètre d'erreur sera affiché. -======= -In some cases the function called by a ``'s `action` prop throws an error. You can handle these errors by wrapping `` in an Error Boundary. If the function called by a ``'s `action` prop throws an error, the fallback for the error boundary will be displayed. ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a diff --git a/src/content/reference/react-dom/components/input.md b/src/content/reference/react-dom/components/input.md index c97a00616..46a3d25a9 100644 --- a/src/content/reference/react-dom/components/input.md +++ b/src/content/reference/react-dom/components/input.md @@ -34,12 +34,8 @@ Pour afficher un champ de saisie, utilisez le [composant natif `` du navi -<<<<<<< HEAD Les extensions de React à la prop `formAction` ne sont actuellement disponibles que sur les canaux de livraison Canary et Expérimental de React. Dans les versions stables de React, `formAction` est limitée à son fonctionnement [du composant HTML natif du navigateur](https://react.dev/reference/react-dom/components#all-html-components). Apprenez-en davantage sur [les canaux de livraison React](/community/versioning-policy#all-release-channels). -======= -React's extensions to the `formAction` prop are currently only available in React's Canary and experimental channels. In stable releases of React, `formAction` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a [`formAction`](https://developer.mozilla.org/fr/docs/Web/HTML/Element/input#formaction) : une chaîne de caractères ou une fonction. Cette prop a priorité sur le `` pour les champs de `type="submit"` ou `type="image"`. Lorsqu'une URL est passée à `formAction`, le formulaire se comporte comme un formulaire HTML classique. Mais si une fonction est passée à `formAction`, la fonction traitera l'envoi du formulaire. Allez voir [``](/reference/react-dom/components/form#props). diff --git a/src/content/reference/react-dom/hooks/useFormState.md b/src/content/reference/react-dom/hooks/useFormState.md index a2783a82f..df5ec641f 100644 --- a/src/content/reference/react-dom/hooks/useFormState.md +++ b/src/content/reference/react-dom/hooks/useFormState.md @@ -104,11 +104,7 @@ function MyComponent() { Lorsque le formulaire sera envoyé, la fonction d'action que vous aurez fournie sera appelée. Sa valeur de retour deviendra le nouvel état courant du formulaire. -<<<<<<< HEAD L'action que vous aurez fournie recevra par ailleurs un premier argument supplémentaire, à savoir l'état courant du formulaire. Lors du premier envoi du formulaire, il s'agira de l'état initial que vous aurez fourni, alors que pour les envois ultérieurs, ce sera la valeur renvoyée par le dernier appel en date de l'action. Le reste des arguments est identique à une utilisation de l'action sans `useFormState`. -======= -The action that you provide will also receive a new first argument, namely the current state of the form. The first time the form is submitted, this will be the initial state you provided, while with subsequent submissions, it will be the return value from the last time the action was called. The rest of the arguments are the same as if `useFormState` had not been used. ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a ```js [[3, 1, "action"], [1, 1, "currentState"]] function action(currentState, formData) { diff --git a/src/content/reference/react/experimental_taintObjectReference.md b/src/content/reference/react/experimental_taintObjectReference.md index 087c9ac94..566c023bf 100644 --- a/src/content/reference/react/experimental_taintObjectReference.md +++ b/src/content/reference/react/experimental_taintObjectReference.md @@ -64,19 +64,11 @@ experimental_taintObjectReference( #### Limitations {/*caveats*/} -<<<<<<< HEAD - Recréer ou cloner un objet terni produit un nouvel objet intact, susceptible de contenir des données sensibles. Si par exemple vous avez un objet `user` terni, `const userInfo = {name: user.name, ssn: user.ssn}` ou `{...user}` produiront de nouveaux objets qui ne seront, eux, pas ternis. `taintObjectReference` ne protège que contre les bévues simples lorsque l'objet est passé tel quel à un Composant Client. **Ne comptez pas sur le ternissement pour garantir la sécurité.** Ternir un objet n'empêche pas la fuite de toute donnée dérivée imaginable. Un clone de l'objet terni créera par exemple un objet intact. L'utilisation de données d'un objet terni (ex. `{secret: taintedObj.secret}`) crée une nouvelle valeur, ou un nouvel objet, qui ne sera pas terni·e. Le ternissement est une couche de protection ; une appli sécurisée aura plusieurs couches de protection complémentaires, des API soigneusement conçues et des mécanismes d'isolation en place. -======= -- Recreating or cloning a tainted object creates a new untainted object which may contain sensitive data. For example, if you have a tainted `user` object, `const userInfo = {name: user.name, ssn: user.ssn}` or `{...user}` will create new objects which are not tainted. `taintObjectReference` only protects against simple mistakes when the object is passed through to a Client Component unchanged. - - - -**Do not rely on just tainting for security.** Tainting an object doesn't prevent leaking of every possible derived value. For example, the clone of a tainted object will create a new untainted object. Using data from a tainted object (e.g. `{secret: taintedObj.secret}`) will create a new value or object that is not tainted. Tainting is a layer of protection; a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a diff --git a/src/content/reference/react/forwardRef.md b/src/content/reference/react/forwardRef.md index 90769ec09..c6cdf7671 100644 --- a/src/content/reference/react/forwardRef.md +++ b/src/content/reference/react/forwardRef.md @@ -41,15 +41,9 @@ const MyInput = forwardRef(function MyInput(props, ref) { `forwardRef` renvoie un composant React qui peut figurer dans un rendu JSX. Contrairement aux composants React définis par des fonctions classiques, un composant renvoyé par `forwardRef` pourra en prime accepter une prop `ref`. -<<<<<<< HEAD #### Limitations {/*caveats*/} -======= -#### Caveats {/*caveats*/} -* In Strict Mode, React will **call your render function twice** in order to [help you find accidental impurities.](/reference/react/useState#my-initializer-or-updater-function-runs-twice) This is development-only behavior and does not affect production. If your render function is pure (as it should be), this should not affect the logic of your component. The result from one of the calls will be ignored. ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a - -* En Mode Strict, React **appellera votre fonction composant deux fois** afin de [vous aider à repérer des impuretés accidentelles](#my-initializer-or-updater-function-runs-twice). Ce comportement est limité au développement et n'affecte pas la production. Une des valeurs renvoyées sera ignorée. Si votre fonction composant est pure (ce qui devrait être le cas), ça n'affectera en rien son comportement. +* En Mode Strict, React **appellera votre fonction composant deux fois** afin de [vous aider à repérer des impuretés accidentelles](/reference/react/useState#my-initializer-or-updater-function-runs-twice). Ce comportement est limité au développement et n'affecte pas la production. Une des valeurs renvoyées sera ignorée. Si votre fonction composant est pure (ce qui devrait être le cas), ça n'affectera en rien son comportement. --- diff --git a/src/content/reference/react/useRef.md b/src/content/reference/react/useRef.md index b26f096d6..5ebcae149 100644 --- a/src/content/reference/react/useRef.md +++ b/src/content/reference/react/useRef.md @@ -47,17 +47,10 @@ Lors des rendus ultérieurs, `useRef` renverra le même objet. #### Limitations {/*caveats*/} -<<<<<<< HEAD * Vous pouvez modifier la propriété `ref.current`. Contrairement à l'état, elle est modifiable. En revanche, si vous y stockez un objet nécessaire au rendu (par exemple un morceau de votre état), vous ne devriez pas modifier cet objet. * Lorsque vous modifiez la propriété `ref.current`, React ne refait pas de rendu de votre composant. React n'est pas au courant de vos modifications parce qu'une ref est un objet JavaScript brut. * Évitez d'écrire _ou même de lire_ `ref.current` lors du rendu, sauf pour [l'initialiser](#avoiding-recreating-the-ref-contents). Ça rendrait le comportement de votre composant imprévisible. -* En Mode Strict, React **appellera votre fonction composant deux fois** afin de [vous aider à repérer des impuretés accidentelles](#my-initializer-or-updater-function-runs-twice). Ce comportement est limité au développement et n'affecte pas la production. Chaque objet ref sera créé deux fois, mais une de ses versions sera ignorée. Si votre fonction composant est pure (ce qui devrait être le cas), ça n'affectera en rien son comportement. -======= -* You can mutate the `ref.current` property. Unlike state, it is mutable. However, if it holds an object that is used for rendering (for example, a piece of your state), then you shouldn't mutate that object. -* When you change the `ref.current` property, React does not re-render your component. React is not aware of when you change it because a ref is a plain JavaScript object. -* Do not write _or read_ `ref.current` during rendering, except for [initialization.](#avoiding-recreating-the-ref-contents) This makes your component's behavior unpredictable. -* In Strict Mode, React will **call your component function twice** in order to [help you find accidental impurities.](/reference/react/useState#my-initializer-or-updater-function-runs-twice) This is development-only behavior and does not affect production. Each ref object will be created twice, but one of the versions will be discarded. If your component function is pure (as it should be), this should not affect the behavior. ->>>>>>> 6bfde58c109ec86fd6c5767421404cb679ffba9a +* En Mode Strict, React **appellera votre fonction composant deux fois** afin de [vous aider à repérer des impuretés accidentelles](/reference/react/useState#my-initializer-or-updater-function-runs-twice). Ce comportement est limité au développement et n'affecte pas la production. Chaque objet ref sera créé deux fois, mais une de ses versions sera ignorée. Si votre fonction composant est pure (ce qui devrait être le cas), ça n'affectera en rien son comportement. --- diff --git a/src/pages/errors/[errorCode].tsx b/src/pages/errors/[errorCode].tsx index f1a54a3d6..a026a5bc9 100644 --- a/src/pages/errors/[errorCode].tsx +++ b/src/pages/errors/[errorCode].tsx @@ -31,8 +31,8 @@ export default function ErrorDecoderPage({ toc={[]} meta={{ title: errorCode - ? `Minified React error #${errorCode}` - : 'Minified Error Decoder', + ? `Erreur React minifiée n°${errorCode}` + : 'Décodeur d’Erreur Minifiée', }} routeTree={sidebarLearn as RouteItem} section="unknown"> @@ -67,7 +67,7 @@ function reviveNodeOnClient(key: unknown, val: any) { type = MDXComponents[type as keyof typeof MDXComponents]; } if (!type) { - console.error('Unknown type: ' + type); + console.error('Type inconnu : ' + type); type = Fragment; } return {