You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/reference-react.md
+34-33
Original file line number
Diff line number
Diff line change
@@ -15,41 +15,41 @@ redirect_from:
15
15
16
16
l'objet `React` est le point d'entrée de la bibliothèque React. Si vous chargez React depuis une balise `<script>`, ces API de haut-niveau sont disponibles depuis l'objet global `React`. Si vous utilisez npm avec la syntax ES6, vous pouvez écrire : `import React from 'react'`. Si vous utilisez npm avec la syntaxe ES5, vous pouvez écrire : `var React = require('react')`.
17
17
18
-
## Overview {#overview}
18
+
## Aperçu de l'API {#overview}
19
19
20
-
### Components {#components}
20
+
### Composants {#components}
21
21
22
-
React components let you split the UI into independent, reusable pieces, and think about each piece in isolation. React components can be defined by subclassing `React.Component`or`React.PureComponent`.
22
+
Les composant React vous permettent de séparer une UI (_User Interface_: Interface utilisateur) en pièces indépendantes et réutilisables, ce qui vous permet de concevoir chaque pièce isolément. Un composant React peut être défini en étendant les classes `React.Component`ou`React.PureComponent`.
23
23
24
24
-[`React.Component`](#reactcomponent)
25
25
-[`React.PureComponent`](#reactpurecomponent)
26
26
27
-
If you don't use ES6 classes, you may use the `create-react-class`module instead. See [Using React without ES6](/docs/react-without-es6.html)for more information.
27
+
Si vous n'utilisez pas les classes ES6, vous pouvez utiliser le module `create-react-class`à la place. Lisez [Utiliser React sans ES6](/docs/react-without-es6.html)pour plus de détails.
28
28
29
-
React components can also be defined as functions which can be wrapped:
29
+
Un composant React peut aussi être définie via une fonction que l'on va encapsuler :
30
30
31
31
-[`React.memo`](#reactmemo)
32
32
33
-
### Creating React Elements {#creating-react-elements}
33
+
### Créer des éléments React {#creating-react-elements}
34
34
35
-
We recommend [using JSX](/docs/introducing-jsx.html)to describe what your UI should look like. Each JSX element is just syntactic sugar for calling [`React.createElement()`](#createelement). You will not typically invoke the following methods directly if you are using JSX.
35
+
Nous vous recommandons d'[utiliser JSX](/docs/introducing-jsx.html)pour définir à quoi ressemblera votre UI. Tous les éléments JSX ne sont que du sucre syntaxique par dessus des appels à [`React.createElement()`](#createelement). Si vous utilisez JSX, vous ne devriez pas avoir besoin d'appeler les méthodes suivantes :
36
36
37
37
-[`createElement()`](#createelement)
38
38
-[`createFactory()`](#createfactory)
39
39
40
-
See [Using React without JSX](/docs/react-without-jsx.html)for more information.
40
+
Lisez [Utiliser React sans JSX](/docs/react-without-jsx.html)pour plus de détails.
41
41
42
-
### Transforming Elements {#transforming-elements}
42
+
### Transformer des éléments {#transforming-elements}
43
43
44
-
`React`provides several APIs for manipulating elements:
44
+
`React`propose plusieurs API pour manipuler les éléments :
45
45
46
46
-[`cloneElement()`](#cloneelement)
47
47
-[`isValidElement()`](#isvalidelement)
48
48
-[`React.Children`](#reactchildren)
49
49
50
50
### Fragments {#fragments}
51
51
52
-
`React`also provides a component for rendering multiple elements without a wrapper.
52
+
`React`fournis également un composant spécial pour rendre plusieurs éléments sans avoir à les enrober avec un autre élément.
53
53
54
54
-[`React.Fragment`](#reactfragment)
55
55
@@ -60,20 +60,20 @@ See [Using React without JSX](/docs/react-without-jsx.html) for more information
60
60
61
61
### Suspense {#suspense}
62
62
63
-
Suspense lets components "wait" for something before rendering. Today, Suspense only supports one use case: [loading components dynamically with `React.lazy`](/docs/code-splitting.html#reactlazy). In the future, it will support other use cases like data fetching.
63
+
Le *Suspense* permet aux composants « d'attendre » quelque chose avant d'être rendu. Aujourd'hui, le *Suspense* ne supporte qu'un seul cas d'usage : [Le chargement dynamique de composants avec `React.lazy`](/docs/code-splitting.html#reactlazy). Dans le future, il supportera d'autres cas d'usages tel que le chargement de données distantes.
64
64
65
65
-[`React.lazy`](#reactlazy)
66
66
-[`React.Suspense`](#reactsuspense)
67
67
68
68
### Hooks {#hooks}
69
69
70
-
*Hooks*are a new addition in React 16.8. They let you use state and other React features without writing a class. Hooks have a [dedicated docs section](/docs/hooks-intro.html)and a separate API reference:
70
+
Les *Hooks*sont une nouveauté de React 16.8. Ils vous permettent d'utiliser les états et d'autres fonctionnalités de React sans avoir à écrire de classes. Les *Hooks* disposent de [leur propre documentation](/docs/hooks-intro.html)et leur API est détaillée à part :
@@ -84,71 +84,72 @@ Suspense lets components "wait" for something before rendering. Today, Suspense
84
84
85
85
* * *
86
86
87
-
## Reference {#reference}
87
+
## Référence {#reference}
88
88
89
89
### `React.Component` {#reactcomponent}
90
90
91
-
`React.Component`is the base class for React components when they are defined using [ES6 classes](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes):
91
+
`React.Component`est la classe de base utilisée pour créer des composants React avec la syntaxe des [classes ES6](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes):
92
92
93
93
```javascript
94
94
classGreetingextendsReact.Component {
95
95
render() {
96
-
return<h1>Hello, {this.props.name}</h1>;
96
+
return<h1>Bonjour {this.props.name}</h1>;
97
97
}
98
98
}
99
99
```
100
100
101
-
See the [React.Component API Reference](/docs/react-component.html)for a list of methods and properties related to the base `React.Component` class.
101
+
Rendez-vous sur [la page de référence de l'API `React.Component`](/docs/react-component.html)pour voir la liste complète des méthodes et propriétés de la classe de base `React.Component`.
102
102
103
103
* * *
104
104
105
105
### `React.PureComponent` {#reactpurecomponent}
106
106
107
-
`React.PureComponent` is similar to [`React.Component`](#reactcomponent). The difference between them is that [`React.Component`](#reactcomponent) doesn't implement [`shouldComponentUpdate()`](/docs/react-component.html#shouldcomponentupdate), but `React.PureComponent` implements it with a shallow prop and state comparison.
107
+
`React.PureComponent` est similaire à [`React.Component`](#reactcomponent). La seul différence est que [`React.Component`](#reactcomponent) n'implémente pas la méthode [`shouldComponentUpdate()`](/docs/react-component.html#shouldcomponentupdate) là où `React.PureComponent` en implémente une version qui réalise une comparaison de surface de l'état et des propriétés.
108
+
109
+
Si la fonction `render()` d'un de vos composants React produit un rendu identique pour le même état ou les même propriétés, utiliser `React.PureComponent` devrait améliorer les performances dans certains cas.
108
110
109
-
If your React component's `render()` function renders the same result given the same props and state, you can use `React.PureComponent` for a performance boost in some cases.
110
111
111
112
> Note
112
113
>
113
-
> `React.PureComponent`'s `shouldComponentUpdate()`only shallowly compares the objects. If these contain complex data structures, it may produce false-negatives for deeper differences. Only extend `PureComponent`when you expect to have simple props and state, or use [`forceUpdate()`](/docs/react-component.html#forceupdate)when you know deep data structures have changed. Or, consider using [immutable objects](https://facebook.github.io/immutable-js/)to facilitate fast comparisons of nested data.
114
+
> La méthode `shouldComponentUpdate()`de `React.PureComponent` réalise une simple comparaison de surface. Avec des données complexes, elle peut produire des faux positifs si la structure de données subit des changements profond. Ne créez des composants avec `PureComponent`que si vous avez des états ou des props simples, le cas échéant utilisez [`forceUpdate()`](/docs/react-component.html#forceupdate)si vous savez que vos données ont profondément changées. Vous pouvez aussi envisager d'utiliser des [objets immuables](https://facebook.github.io/immutable-js/)pour simplifier la comparaison rapide de données imbriquées.
114
115
>
115
-
> Furthermore, `React.PureComponent`'s `shouldComponentUpdate()`skips prop updates for the whole component subtree. Make sure all the children components are also "pure".
116
+
> De plus, la méthode `shouldComponentUpdate()`de `React.PureComponent` ignore la mise à jour des propriétés de tout l'arbre des composants sous-jacent. Assurez vous que tout les composants sous-jacent sont également "pure".
`React.memo`is a [higher order component](/docs/higher-order-components.html). It's similar to [`React.PureComponent`](#reactpurecomponent)but for function components instead of classes.
128
+
`React.memo`est un [composant d'ordre supérieur](/docs/higher-order-components.html). Il est similaire à [`React.PureComponent`](#reactpurecomponent)mais à destination des composants créés à l'aide de fonctions plutôt que de classes.
128
129
129
-
If your function component renders the same result given the same props, you can wrap it in a call to `React.memo` for a performance boost in some cases by memoizing the result. This means that React will skip rendering the component, and reuse the last rendered result.
130
+
Si vous avec un composant créés avec une fonction et qu'il affiche toujours le même résultat pour un même jeu de propriétés, vous pouvez l'encapsuler avec `React.memo` ce qui mémoïsera le résultat et devrait augmenter les performances dans certain cas.
130
131
131
-
By default it will only shallowly compare complex objects in the props object. If you want control over the comparison, you can also provide a custom comparison function as the second argument.
132
+
Par défaut, seule une comparaison de surface des objets de propriétés sera faite. Si vous voulez gérer cette comparaison vous-même, vous pouvez fournir une fonction de comparaison personnalisée en deuxième argument.
132
133
133
134
```javascript
134
135
functionMyComponent(props) {
135
-
/*render using props */
136
+
/*Faire le rendu en utilisant les props */
136
137
}
137
138
functionareEqual(prevProps, nextProps) {
138
139
/*
139
-
return true if passing nextProps to render would return
140
-
the same result as passing prevProps to render,
141
-
otherwise return false
140
+
Renvoie vrai si utiliser l'objet nextProps à la fonction de rendu
141
+
produira le même résultat que de lui passer l'objet prevProps.
142
+
Renvoie faux si ce n'est pas le cas.
142
143
*/
143
144
}
144
145
exportdefaultReact.memo(MyComponent, areEqual);
145
146
```
146
147
147
-
This method only exists as a **[performance optimization](/docs/optimizing-performance.html).** Do not rely on it to "prevent" a render, as this can lead to bugs.
148
+
Cette méthode n'est qu'un outil d'**[optimisation de performance](/docs/optimizing-performance.html)**. Ne vous y fiez pas pour “empêcher” un rendu car cela peut conduire à des bugs.
148
149
149
150
> Note
150
151
>
151
-
> Unlike the [`shouldComponentUpdate()`](/docs/react-component.html#shouldcomponentupdate)method on class components, the `areEqual`function returns `true`if the props are equal and`false`if the props are not equal. This is the inverse from`shouldComponentUpdate`.
152
+
> Contrairement à la méthode [`shouldComponentUpdate()`](/docs/react-component.html#shouldcomponentupdate)des compostants créer à l'aide de classes, la fonction `areEqual`retourne `true`si les props sont égales et`false`si ce n'est pas le cas. C'est donc l'inverse de`shouldComponentUpdate`.
0 commit comments