Skip to content

Commit 41db966

Browse files
committed
More progress but still in progress ;)
1 parent 3447848 commit 41db966

File tree

1 file changed

+34
-33
lines changed

1 file changed

+34
-33
lines changed

content/docs/reference-react.md

+34-33
Original file line numberDiff line numberDiff line change
@@ -15,41 +15,41 @@ redirect_from:
1515

1616
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')`.
1717

18-
## Overview {#overview}
18+
## Aperçu de l'API {#overview}
1919

20-
### Components {#components}
20+
### Composants {#components}
2121

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`.
2323

2424
- [`React.Component`](#reactcomponent)
2525
- [`React.PureComponent`](#reactpurecomponent)
2626

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.
2828

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 :
3030

3131
- [`React.memo`](#reactmemo)
3232

33-
### Creating React Elements {#creating-react-elements}
33+
### Créer des éléments React {#creating-react-elements}
3434

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 :
3636

3737
- [`createElement()`](#createelement)
3838
- [`createFactory()`](#createfactory)
3939

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.
4141

42-
### Transforming Elements {#transforming-elements}
42+
### Transformer des éléments {#transforming-elements}
4343

44-
`React` provides several APIs for manipulating elements:
44+
`React` propose plusieurs API pour manipuler les éléments :
4545

4646
- [`cloneElement()`](#cloneelement)
4747
- [`isValidElement()`](#isvalidelement)
4848
- [`React.Children`](#reactchildren)
4949

5050
### Fragments {#fragments}
5151

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.
5353

5454
- [`React.Fragment`](#reactfragment)
5555

@@ -60,20 +60,20 @@ See [Using React without JSX](/docs/react-without-jsx.html) for more information
6060

6161
### Suspense {#suspense}
6262

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.
6464

6565
- [`React.lazy`](#reactlazy)
6666
- [`React.Suspense`](#reactsuspense)
6767

6868
### Hooks {#hooks}
6969

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 :
7171

72-
- [Basic Hooks](/docs/hooks-reference.html#basic-hooks)
72+
- [*Hooks* de base](/docs/hooks-reference.html#basic-hooks)
7373
- [`useState`](/docs/hooks-reference.html#usestate)
7474
- [`useEffect`](/docs/hooks-reference.html#useeffect)
7575
- [`useContext`](/docs/hooks-reference.html#usecontext)
76-
- [Additional Hooks](/docs/hooks-reference.html#additional-hooks)
76+
- [*Hooks* supplémentaires](/docs/hooks-reference.html#additional-hooks)
7777
- [`useReducer`](/docs/hooks-reference.html#usereducer)
7878
- [`useCallback`](/docs/hooks-reference.html#usecallback)
7979
- [`useMemo`](/docs/hooks-reference.html#usememo)
@@ -84,71 +84,72 @@ Suspense lets components "wait" for something before rendering. Today, Suspense
8484

8585
* * *
8686

87-
## Reference {#reference}
87+
## Référence {#reference}
8888

8989
### `React.Component` {#reactcomponent}
9090

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) :
9292

9393
```javascript
9494
class Greeting extends React.Component {
9595
render() {
96-
return <h1>Hello, {this.props.name}</h1>;
96+
return <h1>Bonjour {this.props.name}</h1>;
9797
}
9898
}
9999
```
100100

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`.
102102

103103
* * *
104104

105105
### `React.PureComponent` {#reactpurecomponent}
106106

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.
108110

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.
110111

111112
> Note
112113
>
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.
114115
>
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".
116117
117118
* * *
118119

119120
### `React.memo` {#reactmemo}
120121

121122
```javascript
122123
const MyComponent = React.memo(function MyComponent(props) {
123-
/* render using props */
124+
/* Faire le rendu en utilisant les props */
124125
});
125126
```
126127

127-
`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.
128129

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.
130131

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.
132133

133134
```javascript
134135
function MyComponent(props) {
135-
/* render using props */
136+
/* Faire le rendu en utilisant les props */
136137
}
137138
function areEqual(prevProps, nextProps) {
138139
/*
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.
142143
*/
143144
}
144145
export default React.memo(MyComponent, areEqual);
145146
```
146147

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.
148149

149150
> Note
150151
>
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`.
152153
153154
* * *
154155

0 commit comments

Comments
 (0)