` DOM node is removed, React will call your `ref` callback with `null`.
+Quand le nœud DOM `
` sera ajouté à l'écran, React appellera votre fonction `ref` avec le `node` DOM comme argument. Quand ce nœud DOM `
` sera retiré, React apppellera votre fonction `ref` avec `null`.
-React will also call your `ref` callback whenever you pass a *different* `ref` callback. In the above example, `(node) => { ... }` is a different function on every render. When your component re-renders, the *previous* function will be called with `null` as the argument, and the *next* function will be called with the DOM node.
+React appellera aussi votre fonction `ref` à chaque fois que vous passez une fonction `ref` *différente*. Dans l'exemple précédent, `(node) => { ... }` est une fonction différente à chaque rendu. Lorsque votre composant refait un rendu, la fonction *précédente* est appelée avec l'argument `null`, et la fonction *à jour* est appelée avec le nœud DOM.
-#### Parameters {/*ref-callback-parameters*/}
+#### Paramètres {/*ref-callback-parameters*/}
-* `node`: A DOM node or `null`. React will pass you the DOM node when the ref gets attached, and `null` when the ref gets detached. Unless you pass the same function reference for the `ref` callback on every render, the callback will get temporarily detached and re-attached during every re-render of the component.
+* `node` : un nœud DOM ou `null`. React vous donnera le nœud DOM lorsque la ref sera attachée, et `null` lorsqu'elle sera détachée. À moins de passer la même référence de fonction `ref` à chaque rendu, la fonction de rappel sera détachée et réattachée à chaque rendu du composant.
-#### Returns {/*returns*/}
+#### Valeur renvoyée {/*returns*/}
-Do not return anything from the `ref` callback.
+La fonction `ref` ne renvoie rien.
---
-### React event object {/*react-event-object*/}
+### Objet d'événement React {/*react-event-object*/}
-Your event handlers will receive a *React event object.* It is also sometimes known as a "synthetic event".
+Vos gestionnaires d'événements recevront un *objet d'événement React*. On parle aussi parfois « d'événement synthétique » React.
```js
{
- console.log(e); // React event object
+ console.log(e); // Objet d’événement React
}} />
```
-It conforms to the same standard as the underlying DOM events, but fixes some browser inconsistencies.
+Il respecte le même standard que les événements DOM natifs, mais corrige certaines incohérences d'implémentation d'un navigateurs à l'autr.
-Some React events do not map directly to the browser's native events. For example in `onMouseLeave`, `e.nativeEvent` will point to a `mouseout` event. The specific mapping is not part of the public API and may change in the future. If you need the underlying browser event for some reason, read it from `e.nativeEvent`.
+Certains événements React ne correspondent pas directement aux événements natifs des navigateurs. Dans `onMouseLeave` par exemple, `e.nativeEvent` référence un événement `mouseout`. La correspondance spécifique ne fait pas partie de l'API publique et pourrait changer à l'avenir. Si, pour certaines raisons, vous avez besoin de l'événement sous-jacent du navigateur, vous le trouverez dans dans `e.nativeEvent`.
-#### Properties {/*react-event-object-properties*/}
+#### Propriétés {/*react-event-object-properties*/}
-React event objects implement some of the standard [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event) properties:
+Les objets d'événements React implémentent certaines propriétés standard d'[`Event`](https://developer.mozilla.org/fr/docs/Web/API/Event) :
-* [`bubbles`](https://developer.mozilla.org/en-US/docs/Web/API/Event/bubbles): A boolean. Returns whether the event bubbles through the DOM.
-* [`cancelable`](https://developer.mozilla.org/en-US/docs/Web/API/Event/cancelable): A boolean. Returns whether the event can be canceled.
-* [`currentTarget`](https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget): A DOM node. Returns the node to which the current handler is attached in the React tree.
-* [`defaultPrevented`](https://developer.mozilla.org/en-US/docs/Web/API/Event/defaultPrevented): A boolean. Returns whether `preventDefault` was called.
-* [`eventPhase`](https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase): A number. Returns which phase the event is currently in.
-* [`isTrusted`](https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted): A boolean. Returns whether the event was initiated by user.
-* [`target`](https://developer.mozilla.org/en-US/docs/Web/API/Event/target): A DOM node. Returns the node on which the event has occurred (which could be a distant child).
-* [`timeStamp`](https://developer.mozilla.org/en-US/docs/Web/API/Event/timeStamp): A number. Returns the time when the event occurred.
+* [`bubbles`](https://developer.mozilla.org/fr/docs/Web/API/Event/bubbles) : un booléen. Il indique si l'événement se propage le long du DOM.
+* [`cancelable`](https://developer.mozilla.org/fr/docs/Web/API/Event/cancelable) : un booléen. Il indique si l'événement peut être annulé.
+* [`currentTarget`](https://developer.mozilla.org/fr/docs/Web/API/Event/currentTarget) : un nœud DOM. Il renvoie le nœud auquel le gestionnaire d'événement est attaché dans l'arbre React.
+* [`defaultPrevented`](https://developer.mozilla.org/fr/docs/Web/API/Event/defaultPrevented) : un booléen. Il indique si la fonction `preventDefault` a été appelée.
+* [`eventPhase`](https://developer.mozilla.org/fr/docs/Web/API/Event/eventPhase) : un nombre. Il indique la phase dans laquelle se situe actuellement l'événement.
+* [`isTrusted`](https://developer.mozilla.org/fr/docs/Web/API/Event/isTrusted) : un booléen. Il indique si l'événement a été initié par l'utilisateur.
+* [`target`](https://developer.mozilla.org/fr/docs/Web/API/Event/target) : un nœud DOM. Il renvoie le nœud sur lequel l'événement a été déclenché (qui peut être un descendant lointain).
+* [`timeStamp`](https://developer.mozilla.org/fr/docs/Web/API/Event/timeStamp) : un nombre. Il indique le moment où l'événement a été déclenché.
-Additionally, React event objects provide these properties:
+Les objets d'événements React proposent également ces propriétés :
-* `nativeEvent`: A DOM [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). The original browser event object.
+* `nativeEvent` : un [`Event`](https://developer.mozilla.org/fr/docs/Web/API/Event) DOM. Il s'agit de l'objet d'événement originel du navigateur.
-#### Methods {/*react-event-object-methods*/}
+#### Méthodes {/*react-event-object-methods*/}
-React event objects implement some of the standard [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event) methods:
+Les objets d'événements React implémentent certaines méthodes standard d'[`Event`](https://developer.mozilla.org/fr/docs/Web/API/Event) :
-* [`preventDefault()`](https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault): Prevents the default browser action for the event.
-* [`stopPropagation()`](https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation): Stops the event propagation through the React tree.
+* [`preventDefault()`](https://developer.mozilla.org/fr/docs/Web/API/Event/preventDefault) : empêche l'action par défaut du navigateur pour cet événement.
+* [`stopPropagation()`](https://developer.mozilla.org/fr/docs/Web/API/Event/stopPropagation) : interrompt la propagation de cet événement le long de l'arbre React.
-Additionally, React event objects provide these methods:
+Les objets d'événements React proposent également ces méthodes :
-* `isDefaultPrevented()`: Returns a boolean value indicating whether `preventDefault` was called.
-* `isPropagationStopped()`: Returns a boolean value indicating whether `stopPropagation` was called.
-* `persist()`: Not used with React DOM. With React Native, call this to read event's properties after the event.
-* `isPersistent()`: Not used with React DOM. With React Native, returns whether `persist` has been called.
+* `isDefaultPrevented()` : renvoie une valeur booléenne indiquant si `preventDefault` a été appelée.
+* `isPropagationStopped()` : renvoie une valeur booléenne indiquant si `stopPropagation` a été appelée.
+* `persist()` : inutile pour React DOM. Avec React Native, vous pouvez l'appeler pour lire les propriétés de l'événement après son exécution.
+* `isPersistent()` : inutile pour React DOM. Avec React Native, indique si `persist` a été appelée.
-#### Caveats {/*react-event-object-caveats*/}
+#### Limitations {/*react-event-object-caveats*/}
-* The values of `currentTarget`, `eventPhase`, `target`, and `type` reflect the values your React code expects. Under the hood, React attaches event handlers at the root, but this is not reflected in React event objects. For example, `e.currentTarget` may not be the same as the underlying `e.nativeEvent.currentTarget`. For polyfilled events, `e.type` (React event type) may differ from `e.nativeEvent.type` (underlying type).
+* Les valeurs de `currentTarget`, `eventPhase`, `target` et `type` réflètent les valeurs attendues par votre code React. Sous le capot, React attache les gestionnaires d'événements à la racine, mais ce n'est pas reflété par les objets d'événements React. Par exemple, `e.currentTarget` peut différer du `e.nativeEvent.currentTarget` sous-jacent. Pour les événements simulés, `e.type` (type de l'événement React) peut aussi différer de `e.nativeEvent.type` (type sous-jacent).
---
-### `AnimationEvent` handler function {/*animationevent-handler*/}
+### Gestionnaire `AnimationEvent` {/*animationevent-handler*/}
-An event handler type for the [CSS animation](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Animations/Using_CSS_animations) events.
+Un type de gestionnaire d'événement pour les événements des [animations CSS](https://developer.mozilla.org/fr/docs/Web/CSS/CSS_Animations/Using_CSS_animations) .
```js
```
-#### Parameters {/*animationevent-handler-parameters*/}
+#### Paramètres {/*animationevent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`AnimationEvent`](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent) properties:
- * [`animationName`](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent/animationName)
- * [`elapsedTime`](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent/elapsedTime)
- * [`pseudoElement`](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent/pseudoElement)
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`AnimationEvent`](https://developer.mozilla.org/fr/docs/Web/API/AnimationEvent) :
+ * [`animationName`](https://developer.mozilla.org/fr/docs/Web/API/AnimationEvent/animationName)
+ * [`elapsedTime`](https://developer.mozilla.org/fr/docs/Web/API/AnimationEvent/elapsedTime)
+ * [`pseudoElement`](https://developer.mozilla.org/fr/docs/Web/API/AnimationEvent/pseudoElement)
---
-### `ClipboardEvent` handler function {/*clipboadevent-handler*/}
+### Gestionnaire `ClipboardEvent` {/*clipboadevent-handler*/}
-An event handler type for the [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API) events.
+Un type de gestionnaire d'événement pour les événements de l'[API Clipboard](https://developer.mozilla.org/fr/docs/Web/API/Clipboard_API).
```js
```
-#### Parameters {/*clipboadevent-handler-parameters*/}
+#### Paramètres {/*clipboadevent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`ClipboardEvent`](https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEvent) properties:
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`ClipboardEvent`](https://developer.mozilla.org/docs/Web/API/ClipboardEvent) :
- * [`clipboardData`](https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEvent/clipboardData)
+ * [`clipboardData`](https://developer.mozilla.org/docs/Web/API/ClipboardEvent/clipboardData)
---
-### `CompositionEvent` handler function {/*compositionevent-handler*/}
+### Gestionnaire `CompositionEvent` {/*compositionevent-handler*/}
-An event handler type for the [input method editor (IME)](https://developer.mozilla.org/en-US/docs/Glossary/Input_method_editor) events.
+Un type de gestionnaire d'événement pour les événements [des systèmes de composition de texte](https://developer.mozilla.org/fr/docs/Glossary/Input_method_editor) *(IME pour Input Method Editor, NdT)*.
```js
```
-#### Parameters {/*compositionevent-handler-parameters*/}
+#### Paramètres {/*compositionevent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`CompositionEvent`](https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent) properties:
- * [`data`](https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent/data)
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`CompositionEvent`](https://developer.mozilla.org/fr/docs/Web/API/CompositionEvent) :
+ * [`data`](https://developer.mozilla.org/docs/Web/API/CompositionEvent/data)
---
-### `DragEvent` handler function {/*dragevent-handler*/}
+### Gestionnaire `DragEvent` {/*dragevent-handler*/}
-An event handler type for the [HTML Drag and Drop API](https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API) events.
+Un type de gestionnaire d'événement pour les événements de [l'API HTML de glisser-déposer](https://developer.mozilla.org/fr/docs/Web/API/HTML_Drag_and_Drop_API).
```js
<>
@@ -387,7 +387,7 @@ An event handler type for the [HTML Drag and Drop API](https://developer.mozilla
onDragStart={e => console.log('onDragStart')}
onDragEnd={e => console.log('onDragEnd')}
>
- Drag source
+ Source pour le glissement
{ e.preventDefault(); console.log('onDragOver'); }}
onDrop={e => console.log('onDrop')}
>
- Drop target
+ Cible pour le dépôt
>
```
-#### Parameters {/*dragevent-handler-parameters*/}
+#### Paramètres {/*dragevent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`DragEvent`](https://developer.mozilla.org/en-US/docs/Web/API/DragEvent) properties:
- * [`dataTransfer`](https://developer.mozilla.org/en-US/docs/Web/API/DragEvent/dataTransfer)
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`DragEvent`](https://developer.mozilla.org/docs/Web/API/DragEvent) :
+ * [`dataTransfer`](https://developer.mozilla.org/docs/Web/API/DragEvent/dataTransfer).
- It also includes the inherited [`MouseEvent`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent) properties:
+ Il inclut également les propriétés héritées de [`MouseEvent`](https://developer.mozilla.org/fr/docs/Web/API/MouseEvent) :
- * [`altKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/altKey)
- * [`button`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button)
- * [`buttons`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons)
- * [`ctrlKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/ctrlKey)
- * [`clientX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientX)
- * [`clientY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientY)
- * [`getModifierState(key)`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/getModifierState)
- * [`metaKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/metaKey)
- * [`movementX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX)
- * [`movementY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementY)
- * [`pageX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageX)
- * [`pageY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageY)
- * [`relatedTarget`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/relatedTarget)
- * [`screenX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/screenX)
- * [`screenY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/screenY)
- * [`shiftKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/shiftKey)
+ * [`altKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/altKey)
+ * [`button`](https://developer.mozilla.org/docs/Web/API/MouseEvent/button)
+ * [`buttons`](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons)
+ * [`ctrlKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/ctrlKey)
+ * [`clientX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/clientX)
+ * [`clientY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/clientY)
+ * [`getModifierState(key)`](https://developer.mozilla.org/docs/Web/API/MouseEvent/getModifierState)
+ * [`metaKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/metaKey)
+ * [`movementX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/movementX)
+ * [`movementY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/movementY)
+ * [`pageX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageX)
+ * [`pageY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageY)
+ * [`relatedTarget`](https://developer.mozilla.org/docs/Web/API/MouseEvent/relatedTarget)
+ * [`screenX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenX)
+ * [`screenY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenY)
+ * [`shiftKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/shiftKey)
- It also includes the inherited [`UIEvent`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent) properties:
+ Il inclut enfin les propriétés héritées de [`UIEvent`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent) :
- * [`detail`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail)
- * [`view`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/view)
+ * [`detail`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent/detail)
+ * [`view`](https://developer.mozilla.org/docs/Web/API/UIEvent/view)
---
-### `FocusEvent` handler function {/*focusevent-handler*/}
+### Gestionnaire `FocusEvent` {/*focusevent-handler*/}
-An event handler type for the focus events.
+Un type de gestionnaire d'événement pour les événements de focus.
```js
```
-[See an example.](#handling-focus-events)
+[Voir un exemple](#handling-focus-events).
-#### Parameters {/*focusevent-handler-parameters*/}
+#### Paramètres {/*focusevent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`FocusEvent`](https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent) properties:
- * [`relatedTarget`](https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent/relatedTarget)
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`FocusEvent`](https://developer.mozilla.org/fr/docs/Web/API/FocusEvent) :
+ * [`relatedTarget`](https://developer.mozilla.org/docs/Web/API/FocusEvent/relatedTarget)
- It also includes the inherited [`UIEvent`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent) properties:
+ Il inclut également les propriétés héritées de [`UIEvent`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent) :
- * [`detail`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail)
- * [`view`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/view)
+ * [`detail`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent/detail)
+ * [`view`](https://developer.mozilla.org/docs/Web/API/UIEvent/view)
---
-### `Event` handler function {/*event-handler*/}
+### Gestionnaire `Event` {/*event-handler*/}
-An event handler type for generic events.
+Un gestionnaire d'événement pour les événements génériques.
-#### Parameters {/*event-handler-parameters*/}
+#### Paramètres {/*event-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with no additional properties.
+* `e` : un [objet d'événement React](#react-event-object) sans propriété complémentaire.
---
-### `InputEvent` handler function {/*inputevent-handler*/}
+### Gestionnaire `InputEvent` {/*inputevent-handler*/}
-An event handler type for the `onBeforeInput` event.
+Un type de gestionnaire d'événement pour les événements `onBeforeInput`.
```js
console.log('onBeforeInput')} />
```
-#### Parameters {/*inputevent-handler-parameters*/}
+#### Paramètres {/*inputevent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent) properties:
- * [`data`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent/data)
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`InputEvent`](https://developer.mozilla.org/fr/docs/Web/API/InputEvent) :
+ * [`data`](https://developer.mozilla.org/docs/Web/API/InputEvent/data)
---
-### `KeyboardEvent` handler function {/*keyboardevent-handler*/}
+### Gestionnaire `KeyboardEvent` {/*keyboardevent-handler*/}
-An event handler type for keyboard events.
+Un type de gestionnaire d'événement pour les événements liés au clavier.
```js
```
-[See an example.](#handling-keyboard-events)
+[Voir un exemple](#handling-keyboard-events).
-#### Parameters {/*keyboardevent-handler-parameters*/}
+#### Paramètres {/*keyboardevent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`KeyboardEvent`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent) properties:
- * [`altKey`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/altKey)
- * [`charCode`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/charCode)
- * [`code`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code)
- * [`ctrlKey`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/ctrlKey)
- * [`getModifierState(key)`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierState)
- * [`key`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key)
- * [`keyCode`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode)
- * [`locale`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/locale)
- * [`metaKey`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/metaKey)
- * [`location`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/location)
- * [`repeat`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat)
- * [`shiftKey`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/shiftKey)
- * [`which`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which)
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`KeyboardEvent`](https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent) :
+ * [`altKey`](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/altKey)
+ * [`charCode`](https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent/charCode)
+ * [`code`](https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent/code)
+ * [`ctrlKey`](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/ctrlKey)
+ * [`getModifierState(key)`](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/getModifierState)
+ * [`key`](https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent/key)
+ * [`keyCode`](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/keyCode)
+ * [`locale`](https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent)
+ * [`metaKey`](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/metaKey)
+ * [`location`](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/location)
+ * [`repeat`](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/repeat)
+ * [`shiftKey`](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/shiftKey)
+ * [`which`](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/which)
- It also includes the inherited [`UIEvent`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent) properties:
+ Il inclut également les propriétés héritées de [`UIEvent`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent) :
- * [`detail`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail)
- * [`view`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/view)
+ * [`detail`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent/detail)
+ * [`view`](https://developer.mozilla.org/docs/Web/API/UIEvent/view)
---
-### `MouseEvent` handler function {/*mouseevent-handler*/}
+### Gestionnaire `MouseEvent` {/*mouseevent-handler*/}
-An event handler type for mouse events.
+Un type de gestionnaire d'événement pour les événements liés à la souris.
```js
```
-[See an example.](#handling-mouse-events)
-
-#### Parameters {/*mouseevent-handler-parameters*/}
-
-* `e`: A [React event object](#react-event-object) with these extra [`MouseEvent`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent) properties:
- * [`altKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/altKey)
- * [`button`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button)
- * [`buttons`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons)
- * [`ctrlKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/ctrlKey)
- * [`clientX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientX)
- * [`clientY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientY)
- * [`getModifierState(key)`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/getModifierState)
- * [`metaKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/metaKey)
- * [`movementX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX)
- * [`movementY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementY)
- * [`pageX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageX)
- * [`pageY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageY)
- * [`relatedTarget`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/relatedTarget)
- * [`screenX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/screenX)
- * [`screenY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/screenY)
- * [`shiftKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/shiftKey)
-
- It also includes the inherited [`UIEvent`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent) properties:
-
- * [`detail`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail)
- * [`view`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/view)
+[Voir un exemple](#handling-mouse-events).
+
+#### Paramètres {/*mouseevent-handler-parameters*/}
+
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`MouseEvent`](https://developer.mozilla.org/fr/docs/Web/API/MouseEvent) :
+ * [`altKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/altKey)
+ * [`button`](https://developer.mozilla.org/docs/Web/API/MouseEvent/button)
+ * [`buttons`](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons)
+ * [`ctrlKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/ctrlKey)
+ * [`clientX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/clientX)
+ * [`clientY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/clientY)
+ * [`getModifierState(key)`](https://developer.mozilla.org/docs/Web/API/MouseEvent/getModifierState)
+ * [`metaKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/metaKey)
+ * [`movementX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/movementX)
+ * [`movementY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/movementY)
+ * [`pageX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageX)
+ * [`pageY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageY)
+ * [`relatedTarget`](https://developer.mozilla.org/docs/Web/API/MouseEvent/relatedTarget)
+ * [`screenX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenX)
+ * [`screenY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenY)
+ * [`shiftKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/shiftKey)
+
+ Il inclut également les propriétés héritées de [`UIEvent`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent) :
+
+ * [`detail`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent/detail)
+ * [`view`](https://developer.mozilla.org/docs/Web/API/UIEvent/view)
---
-### `PointerEvent` handler function {/*pointerevent-handler*/}
+### Gestionnaire `PointerEvent` {/*pointerevent-handler*/}
-An event handler type for [pointer events.](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events)
+Un type de gestionnaire d'événement pour les [événements liés aux pointeurs](https://developer.mozilla.org/fr/docs/Web/API/Pointer_events).
```js
```
-[See an example.](#handling-pointer-events)
-
-#### Parameters {/*pointerevent-handler-parameters*/}
-
-* `e`: A [React event object](#react-event-object) with these extra [`PointerEvent`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent) properties:
- * [`height`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/height)
- * [`isPrimary`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/isPrimary)
- * [`pointerId`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerId)
- * [`pointerType`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerType)
- * [`pressure`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pressure)
- * [`tangentialPressure`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tangentialPressure)
- * [`tiltX`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tiltX)
- * [`tiltY`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tiltY)
- * [`twist`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/twist)
- * [`width`](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/width)
-
- It also includes the inherited [`MouseEvent`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent) properties:
-
- * [`altKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/altKey)
- * [`button`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button)
- * [`buttons`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons)
- * [`ctrlKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/ctrlKey)
- * [`clientX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientX)
- * [`clientY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientY)
- * [`getModifierState(key)`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/getModifierState)
- * [`metaKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/metaKey)
- * [`movementX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX)
- * [`movementY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementY)
- * [`pageX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageX)
- * [`pageY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageY)
- * [`relatedTarget`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/relatedTarget)
- * [`screenX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/screenX)
- * [`screenY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/screenY)
- * [`shiftKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/shiftKey)
-
- It also includes the inherited [`UIEvent`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent) properties:
-
- * [`detail`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail)
- * [`view`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/view)
+[Voir un exemple](#handling-pointer-events).
+
+#### Paramètres {/*pointerevent-handler-parameters*/}
+
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`PointerEvent`](https://developer.mozilla.org/fr/docs/Web/API/PointerEvent) :
+ * [`height`](https://developer.mozilla.org/docs/Web/API/PointerEvent/height)
+ * [`isPrimary`](https://developer.mozilla.org/docs/Web/API/PointerEvent/isPrimary)
+ * [`pointerId`](https://developer.mozilla.org/docs/Web/API/PointerEvent/pointerId)
+ * [`pointerType`](https://developer.mozilla.org/docs/Web/API/PointerEvent/pointerType)
+ * [`pressure`](https://developer.mozilla.org/docs/Web/API/PointerEvent/pressure)
+ * [`tangentialPressure`](https://developer.mozilla.org/docs/Web/API/PointerEvent/tangentialPressure)
+ * [`tiltX`](https://developer.mozilla.org/docs/Web/API/PointerEvent/tiltX)
+ * [`tiltY`](https://developer.mozilla.org/docs/Web/API/PointerEvent/tiltY)
+ * [`twist`](https://developer.mozilla.org/docs/Web/API/PointerEvent/twist)
+ * [`width`](https://developer.mozilla.org/docs/Web/API/PointerEvent/width)
+
+ Il inclut également les propriétés héritées de [`MouseEvent`](https://developer.mozilla.org/fr/docs/Web/API/MouseEvent) :
+
+ * [`altKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/altKey)
+ * [`button`](https://developer.mozilla.org/docs/Web/API/MouseEvent/button)
+ * [`buttons`](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons)
+ * [`ctrlKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/ctrlKey)
+ * [`clientX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/clientX)
+ * [`clientY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/clientY)
+ * [`getModifierState(key)`](https://developer.mozilla.org/docs/Web/API/MouseEvent/getModifierState)
+ * [`metaKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/metaKey)
+ * [`movementX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/movementX)
+ * [`movementY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/movementY)
+ * [`pageX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageX)
+ * [`pageY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageY)
+ * [`relatedTarget`](https://developer.mozilla.org/docs/Web/API/MouseEvent/relatedTarget)
+ * [`screenX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenX)
+ * [`screenY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenY)
+ * [`shiftKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/shiftKey)
+
+ Il inclut enfin les propriétés héritées de [`UIEvent`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent) :
+
+ * [`detail`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent/detail)
+ * [`view`](https://developer.mozilla.org/docs/Web/API/UIEvent/view)
---
-### `TouchEvent` handler function {/*touchevent-handler*/}
+### Gestionnaire `TouchEvent` {/*touchevent-handler*/}
-An event handler type for [touch events.](https://developer.mozilla.org/en-US/docs/Web/API/Touch_events)
+Un type de gestionnaire d'événement pour les [événements tactiles](https://developer.mozilla.org/fr/docs/Web/API/Touch_events).
```js
```
-#### Parameters {/*touchevent-handler-parameters*/}
+#### Paramètres {/*touchevent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`TouchEvent`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent) properties:
- * [`altKey`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/altKey)
- * [`ctrlKey`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/ctrlKey)
- * [`changedTouches`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/changedTouches)
- * [`getModifierState(key)`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/getModifierState)
- * [`metaKey`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/metaKey)
- * [`shiftKey`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/shiftKey)
- * [`touches`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/touches)
- * [`targetTouches`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/targetTouches)
-
- It also includes the inherited [`UIEvent`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent) properties:
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`TouchEvent`](https://developer.mozilla.org/docs/Web/API/TouchEvent) :
+ * [`altKey`](https://developer.mozilla.org/docs/Web/API/TouchEvent/altKey)
+ * [`ctrlKey`](https://developer.mozilla.org/docs/Web/API/TouchEvent/ctrlKey)
+ * [`changedTouches`](https://developer.mozilla.org/docs/Web/API/TouchEvent/changedTouches)
+ * [`metaKey`](https://developer.mozilla.org/docs/Web/API/TouchEvent/metaKey)
+ * [`shiftKey`](https://developer.mozilla.org/docs/Web/API/TouchEvent/shiftKey)
+ * [`touches`](https://developer.mozilla.org/docs/Web/API/TouchEvent/touches)
+ * [`targetTouches`](https://developer.mozilla.org/docs/Web/API/TouchEvent/targetTouches)
- * [`detail`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail)
- * [`view`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/view)
+ Il inclut également les propriétés héritées de [`UIEvent`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent) :
+
+ * [`detail`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent/detail)
+ * [`view`](https://developer.mozilla.org/docs/Web/API/UIEvent/view)
---
-### `TransitionEvent` handler function {/*transitionevent-handler*/}
+### Gestionnaire `TransitionEvent` {/*transitionevent-handler*/}
-An event handler type for the CSS transition events.
+Un type de gestionnaire d'événement pour les événements de transitions CSS.
```js
```
-#### Parameters {/*transitionevent-handler-parameters*/}
+#### Paramètres {/*transitionevent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`TransitionEvent`](https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent) properties:
- * [`elapsedTime`](https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent/elapsedTime)
- * [`propertyName`](https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent/propertyName)
- * [`pseudoElement`](https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent/pseudoElement)
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`TransitionEvent`](https://developer.mozilla.org/fr/docs/Web/API/TransitionEvent) :
+ * [`elapsedTime`](https://developer.mozilla.org/docs/Web/API/TransitionEvent/elapsedTime)
+ * [`propertyName`](https://developer.mozilla.org/docs/Web/API/TransitionEvent/propertyName)
+ * [`pseudoElement`](https://developer.mozilla.org/docs/Web/API/TransitionEvent/pseudoElement)
---
-### `UIEvent` handler function {/*uievent-handler*/}
+### Gestionnaire `UIEvent` {/*uievent-handler*/}
-An event handler type for generic UI events.
+Un type de gestionnaire d'événement pour les événements génériques de l'interface utilisateur.
```js
```
-#### Parameters {/*uievent-handler-parameters*/}
+#### Paramètres {/*uievent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`UIEvent`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent) properties:
- * [`detail`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail)
- * [`view`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/view)
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`UIEvent`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent) :
+ * [`detail`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent/detail)
+ * [`view`](https://developer.mozilla.org/docs/Web/API/UIEvent/view)
---
-### `WheelEvent` handler function {/*wheelevent-handler*/}
+### Gestionnaire `WheelEvent` {/*wheelevent-handler*/}
-An event handler type for the `onWheel` event.
+Un type de gestionnaire d'événement pour les événements `onWheel` (molette de souris).
```js
```
-#### Parameters {/*wheelevent-handler-parameters*/}
+#### Paramètres {/*wheelevent-handler-parameters*/}
-* `e`: A [React event object](#react-event-object) with these extra [`WheelEvent`](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent) properties:
- * [`deltaMode`](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaMode)
- * [`deltaX`](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaX)
- * [`deltaY`](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaY)
- * [`deltaZ`](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaZ)
+* `e` : un [objet d'événement React](#react-event-object) avec ces propriétés spécifiques à [`WheelEvent`](https://developer.mozilla.org/fr/docs/Web/API/WheelEvent) :
+ * [`deltaMode`](https://developer.mozilla.org/docs/Web/API/WheelEvent/deltaMode)
+ * [`deltaX`](https://developer.mozilla.org/fr/docs/Web/API/WheelEvent/deltaX)
+ * [`deltaY`](https://developer.mozilla.org/fr/docs/Web/API/WheelEvent/deltaY)
+ * [`deltaZ`](https://developer.mozilla.org/fr/docs/Web/API/WheelEvent/deltaZ)
- It also includes the inherited [`MouseEvent`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent) properties:
+ Il inclut également les propriétés héritées de [`MouseEvent`](https://developer.mozilla.org/fr/docs/Web/API/MouseEvent) :
- * [`altKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/altKey)
- * [`button`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button)
- * [`buttons`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons)
- * [`ctrlKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/ctrlKey)
- * [`clientX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientX)
- * [`clientY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientY)
- * [`getModifierState(key)`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/getModifierState)
- * [`metaKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/metaKey)
- * [`movementX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX)
- * [`movementY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementY)
- * [`pageX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageX)
- * [`pageY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageY)
- * [`relatedTarget`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/relatedTarget)
- * [`screenX`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/screenX)
- * [`screenY`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/screenY)
- * [`shiftKey`](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/shiftKey)
+ * [`altKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/altKey)
+ * [`button`](https://developer.mozilla.org/docs/Web/API/MouseEvent/button)
+ * [`buttons`](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons)
+ * [`ctrlKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/ctrlKey)
+ * [`clientX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/clientX)
+ * [`clientY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/clientY)
+ * [`getModifierState(key)`](https://developer.mozilla.org/docs/Web/API/MouseEvent/getModifierState)
+ * [`metaKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/metaKey)
+ * [`movementX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/movementX)
+ * [`movementY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/movementY)
+ * [`pageX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageX)
+ * [`pageY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageY)
+ * [`relatedTarget`](https://developer.mozilla.org/docs/Web/API/MouseEvent/relatedTarget)
+ * [`screenX`](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenX)
+ * [`screenY`](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenY)
+ * [`shiftKey`](https://developer.mozilla.org/docs/Web/API/MouseEvent/shiftKey)
- It also includes the inherited [`UIEvent`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent) properties:
+ Il inclut enfin les propriétés héritées de [`UIEvent`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent) :
- * [`detail`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail)
- * [`view`](https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/view)
+ * [`detail`](https://developer.mozilla.org/fr/docs/Web/API/UIEvent/detail)
+ * [`view`](https://developer.mozilla.org/docs/Web/API/UIEvent/view)
---
-## Usage {/*usage*/}
+## Utilisation {/*usage*/}
-### Applying CSS styles {/*applying-css-styles*/}
+### Appliquer les styles CSS {/*applying-css-styles*/}
-In React, you specify a CSS class with [`className`.](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) It works like the `class` attribute in HTML:
+En React, vous spécifiez une classe CSS avec [`className`](https://developer.mozilla.org/fr/docs/Web/API/Element/className). Ça fonctionne comme l'attribut HTML `class` :
```js
```
-Then you write the CSS rules for it in a separate CSS file:
+Vous écrivez ensuite vos règles CSS dans un fichier CSS séparé :
```css
-/* In your CSS */
+/* Dans votre CSS */
.avatar {
border-radius: 50%;
}
```
-React does not prescribe how you add CSS files. In the simplest case, you'll add a [`
`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link) tag to your HTML. If you use a build tool or a framework, consult its documentation to learn how to add a CSS file to your project.
+React n'impose aucune façon particulière d'ajouter des fichiers CSS. Dans les cas les plus simples, vous ajouterez une balise [`
`](https://developer.mozilla.org/fr/docs/Web/HTML/Element/link) dans votre HTML. Si vous utilisez un outil de *build* ou un framework, consultez sa documentation pour connaître la façon d'ajouter un fichier CSS à votre projet.
-Sometimes, the style values depend on data. Use the `style` attribute to pass some styles dynamically:
+Parfois, les valeurs de style que vous souhaitez utiliser dépendent de vos données. Utilisez l'attribut `style` pour passer certains styles dynamiquement :
```js {3-6}
```
-
-In the above example, `style={{}}` is not a special syntax, but a regular `{}` object inside the `style={ }` [JSX curly braces.](/learn/javascript-in-jsx-with-curly-braces) We recommend only using the `style` attribute when your styles depend on JavaScript variables.
+Dans l'exemple ci-dessus, `style={{}}` n'est pas une syntaxe particulière, mais un objet classique `{}` à l'intérieur des [accolades JSX](/learn/javascript-in-jsx-with-curly-braces) `style={ }`. Nous vous conseillons de n'utiliser l'attribut `style` que si vos styles dépendent de variables JavaScript.
@@ -790,7 +788,7 @@ export default function Avatar({ user }) {
return (
-#### How to apply multiple CSS classes conditionally? {/*how-to-apply-multiple-css-classes-conditionally*/}
+#### Comment appliquer conditionnellement plusieurs classes CSS ? {/*how-to-apply-multiple-css-classes-conditionally*/}
-To apply CSS classes conditionally, you need to produce the `className` string yourself using JavaScript.
+Pour conditionner l'application de classes CSS, vous devez produire vous-même la chaîne de caractères `className` en utilisant JavaScript.
-For example, `className={'row ' + (isSelected ? 'selected': '')}` will produce either `className="row"` or `className="row selected"` depending on whether `isSelected` is `true`.
+Par exemple, `className={'row ' + (isSelected ? 'selected': '')}` produira soit `className="row"`, soit `className="row selected"`, selon que `isSelected` est à `true` ou non.
-To make this more readable, you can use a tiny helper library like [`classnames`:](https://github.com/JedWatson/classnames)
+Pour faciliter la lecture, vous pouvez utiliser une petite bibliothèque telle que [`classnames`](https://github.com/JedWatson/classnames) :
```js
import cn from 'classnames';
@@ -831,7 +829,7 @@ function Row({ isSelected }) {
}
```
-It is especially convenient if you have multiple conditional classes:
+C'est particulièrement utile si vous avez plusieurs classes conditionnelles :
```js
import cn from 'classnames';
@@ -853,11 +851,11 @@ function Row({ isSelected, size }) {
---
-### Manipulating a DOM node with a ref {/*manipulating-a-dom-node-with-a-ref*/}
+### Manipuler un nœud DOM avec une ref {/*manipulating-a-dom-node-with-a-ref*/}
-Sometimes, you'll need to get the browser DOM node associated with a tag in JSX. For example, if you want to focus an ` ` when a button is clicked, you need to call [`focus()`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus) on the browser ` ` DOM node.
+Vous aurez parfois besoin de récupérer le nœud DOM du navigateur associé à une balise en JSX. Si par exemple vous voulez activer un ` ` après qu'un bouton a été cliqué, vous aurez besoin d'appeler [`focus()`](https://developer.mozilla.org/fr/docs/Web/API/HTMLElement/focus) sur le nœud DOM ` ` du navigateur.
-To obtain the browser DOM node for a tag, [declare a ref](/reference/react/useRef) and pass it as the `ref` attribute to that tag:
+Pour obtenir le nœud DOM du navigateur correspondant à une balise, [déclarez une ref](/reference/react/useRef) et passez-la à l'attribut `ref` de cette balise :
```js {7}
import { useRef } from 'react';
@@ -870,7 +868,7 @@ export default function Form() {
// ...
```
-React will put the DOM node into `inputRef.current` after it's been rendered to the screen.
+React référencera le nœud DOM depuis la propriété `inputRef.current` une fois le DOM mis à jour.
@@ -888,7 +886,7 @@ export default function Form() {
<>
- Focus the input
+ Activer le champ
>
);
@@ -897,24 +895,24 @@ export default function Form() {
-Read more about [manipulating DOM with refs](/learn/manipulating-the-dom-with-refs) and [check out more examples.](/reference/react/useRef#examples-dom)
+Apprenez-en davantage sur la [manipulation du DOM avec les refs](/learn/manipulating-the-dom-with-refs) et [découvrez d'autres exemples](/reference/react/useRef#examples-dom).
-For more advanced use cases, the `ref` attribute also accepts a [callback function.](#ref-callback)
+Pour des utilisations plus avancées, l'attribut `ref` accepte églament une [fonction de rappel](#ref-callback).
---
-### Dangerously setting the inner HTML {/*dangerously-setting-the-inner-html*/}
+### Définir le HTML interne (mais c'est risqué) {/*dangerously-setting-the-inner-html*/}
-You can pass a raw HTML string to an element like so:
+Vous pouvez passer une chaîne de caractères contenant du HTML brut à un élément comme suit :
```js
-const markup = { __html: 'some raw html
' };
+const markup = { __html: 'du HTML brut
' };
return
;
```
-**This is dangerous. As with the underlying DOM [`innerHTML`](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML) property, you must exercise extreme caution! Unless the markup is coming from a completely trusted source, it is trivial to introduce an [XSS](https://en.wikipedia.org/wiki/Cross-site_scripting) vulnerability this way.**
+**C'est dangereux. Comme avec la propriété [`innerHTML`](https://developer.mozilla.org/fr/docs/Web/API/Element/innerHTML) du DOM, vous devez faire preuve d'une extrême prudence ! À moins que le balisage ne provienne d'une source parfaitement fiable, il est facile d'introduire une vulnérabilité [XSS](https://fr.wikipedia.org/wiki/Cross-site_scripting) de cette façon.**
-For example, if you use a Markdown library that converts Markdown to HTML, you trust that its parser doesn't contain bugs, and the user only sees their own input, you can display the resulting HTML like this:
+Par exemple, si vous utilisez une bibliothèque qui convertit du Markdown en HTML, que vous êtes sûr·e que son *parser* ne contient pas de bug et que l'utilisateur ne voit que ses propres données, vous pouvez afficher le HTML généré de cette façon :
@@ -923,11 +921,11 @@ import { useState } from 'react';
import MarkdownPreview from './MarkdownPreview.js';
export default function MarkdownEditor() {
- const [postContent, setPostContent] = useState('_Hello,_ **Markdown**!');
+ const [postContent, setPostContent] = useState('_Bonjour_, **Markdown**!');
return (
<>
- Enter some markdown:
+ Saisissez du Markdown :
-To see why rendering arbitrary HTML is dangerous, replace the code above with this:
+Pour comprendre pourquoi l'injection d'un contenu HTML quelconque est dangereuse, remplacez le code plus haut par celui-ci :
```js {1-4,7,8}
const post = {
- // Imagine this content is stored in the database.
- content: ` `
+ // Imaginez que ce contenu soit stocké en base de données.
+ content: ` `
};
export default function MarkdownPreview() {
- // 🔴 SECURITY HOLE: passing untrusted input to dangerouslySetInnerHTML
+ // 🔴 FAILLE DE SÉCURITÉ : passage d’une saisie non fiable à dangerouslySetInnerHTML
const markup = { __html: post.content };
return
;
}
```
-The code embedded in the HTML will run. A hacker could use this security hole to steal user information or to perform actions on their behalf. **Only use `dangerouslySetInnerHTML` with trusted and sanitized data.**
+Le code intégré dans le HTML sera exécuté. Un hacker pourrait utiliser cette faille de sécurité pour voler des informations à l'utilisateur ou effectuer certaines actions en son nom. **Utilisez seulement `dangerouslySetInnerHTML` avec des données de confiance, dûment assainies.**
---
-### Handling mouse events {/*handling-mouse-events*/}
+### Gérer des événements liés à la souris {/*handling-mouse-events*/}
-This example shows some common [mouse events](#mouseevent-handler) and when they fire.
+Cet exemple montre quelques [événements liés à la souris](#mouseevent-handler) courants et la chronologie de leurs déclenchements.
@@ -1015,24 +1014,24 @@ export default function MouseExample() {
onMouseLeave={e => console.log('onMouseLeave (parent)')}
>
console.log('onClick (first button)')}
- onMouseDown={e => console.log('onMouseDown (first button)')}
- onMouseEnter={e => console.log('onMouseEnter (first button)')}
- onMouseLeave={e => console.log('onMouseLeave (first button)')}
- onMouseOver={e => console.log('onMouseOver (first button)')}
- onMouseUp={e => console.log('onMouseUp (first button)')}
+ onClick={e => console.log('onClick (premier bouton)')}
+ onMouseDown={e => console.log('onMouseDown (premier bouton)')}
+ onMouseEnter={e => console.log('onMouseEnter (premier bouton)')}
+ onMouseLeave={e => console.log('onMouseLeave (premier bouton)')}
+ onMouseOver={e => console.log('onMouseOver (premier bouton)')}
+ onMouseUp={e => console.log('onMouseUp (premier bouton)')}
>
- First button
+ Premier bouton
console.log('onClick (second button)')}
- onMouseDown={e => console.log('onMouseDown (second button)')}
- onMouseEnter={e => console.log('onMouseEnter (second button)')}
- onMouseLeave={e => console.log('onMouseLeave (second button)')}
- onMouseOver={e => console.log('onMouseOver (second button)')}
- onMouseUp={e => console.log('onMouseUp (second button)')}
+ onClick={e => console.log('onClick (deuxième bouton)')}
+ onMouseDown={e => console.log('onMouseDown (deuxième bouton)')}
+ onMouseEnter={e => console.log('onMouseEnter (deuxième bouton)')}
+ onMouseLeave={e => console.log('onMouseLeave (deuxième bouton)')}
+ onMouseOver={e => console.log('onMouseOver (deuxième bouton)')}
+ onMouseUp={e => console.log('onMouseUp (deuxième bouton)')}
>
- Second button
+ Deuxième bouton
);
@@ -1048,9 +1047,9 @@ input { margin-left: 10px; }
---
-### Handling pointer events {/*handling-pointer-events*/}
+### Gérer des événements du pointeur {/*handling-pointer-events*/}
-This example shows some common [pointer events](#pointerevent-handler) and when they fire.
+Cet exemple montre quelques [événements liés aux pointeurs](#pointerevent-handler) courants et permet de suivre la chronologie de leurs déclenchements.