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: src/content/reference/rules/rules-of-hooks.md
+33-33Lines changed: 33 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,62 +2,62 @@
2
2
title: Les règles des Hooks
3
3
---
4
4
5
-
{/* FIXME:L10N*/}
6
-
7
5
<Intro>
8
-
Hooks are defined using JavaScript functions, but they represent a special type of reusable UI logic with restrictions on where they can be called.
6
+
7
+
Les Hooks sont définis au moyen de fonctions JavaScript, mais représentent un type particulier de logique d'UI réutilisables, avec des restrictions sur leurs emplacements possibles d'appel.
8
+
9
9
</Intro>
10
10
11
11
<InlineToc />
12
12
13
13
---
14
14
15
-
## Only call Hooks at the top level {/*only-call-hooks-at-the-top-level*/}
15
+
## N'appelez des Hooks qu'au niveau racine {/*only-call-hooks-at-the-top-level*/}
16
16
17
-
Functions whose names start with `use`are called[*Hooks*](/reference/react)in React.
17
+
Les fonctions dont le nom commence par `use`sont appelées[*Hooks*](/reference/react)en React.
18
18
19
-
**Don’t call Hooks inside loops, conditions, nested functions, or `try`/`catch`/`finally`blocks.**Instead, always use Hooks at the top level of your React function, before any early returns. You can only call Hooks while React is rendering a function component:
19
+
**N'appelez pas de Hooks au sein de boucles, conditions, fonctions imbriquées ou blocks `try`/`catch`/`finally` .**Utilisez plutôt les Hooks systématiquement au niveau racine de votre fonction React, avant tout retour anticipé éventuel *(early return, NdT)*. Vous ne pouvez appelez des Hooks que pendant que React fait le rendu d'une fonction composant :
20
20
21
-
* ✅ Call them at the top level in the body of a [function component](/learn/your-first-component).
22
-
* ✅ Call them at the top level in the body of a [custom Hook](/learn/reusing-logic-with-custom-hooks).
21
+
* ✅ Appelez-les à la racine du corps d'une [fonction composant](/learn/your-first-component).
22
+
* ✅ Appelez-les à la racine du corps d'un [Hook personnalisé](/learn/reusing-logic-with-custom-hooks).
23
23
24
24
```js{2-3,8-9}
25
25
function Counter() {
26
-
// ✅ Good: top-level in a function component
26
+
// ✅ Correct : niveau racine d’une fonction composant
27
27
const [count, setCount] = useState(0);
28
28
// ...
29
29
}
30
30
31
31
function useWindowWidth() {
32
-
// ✅ Good: top-level in a custom Hook
32
+
// ✅ Correct : niveau racine d’un Hook personnalisé
// 🔴 Incorrect : au sein d’un bloc try/catch/finally block (pour corriger ça, sortez-en-le !)
103
103
const [x, setX] = useState(0);
104
104
} catch {
105
105
const [x, setX] = useState(1);
106
106
}
107
107
}
108
108
```
109
109
110
-
You can use the [`eslint-plugin-react-hooks` plugin](https://www.npmjs.com/package/eslint-plugin-react-hooks)to catch these mistakes.
110
+
Vous pouvez utiliser le [plugin `eslint-plugin-react-hooks`](https://www.npmjs.com/package/eslint-plugin-react-hooks)pour repérer ces erreurs.
111
111
112
112
<Note>
113
113
114
-
[Custom Hooks](/learn/reusing-logic-with-custom-hooks)*may* call other Hooks (that's their whole purpose). This works because custom Hooks are also supposed to only be called while a function component is rendering.
114
+
[Les Hooks personnalisés](/learn/reusing-logic-with-custom-hooks)*peuvent* appeler d'autres Hooks (c'est même leur raison d'être). Ça fonctionne parce que les Hooks personnalisés sont eux aussi censés n'être appelés que pendant la phase de rendu d'une fonction composant.
115
115
116
116
</Note>
117
117
118
118
---
119
119
120
-
## Only call Hooks from React functions {/*only-call-hooks-from-react-functions*/}
120
+
## N'appelez des Hooks que depuis des fonctions React {/*only-call-hooks-from-react-functions*/}
121
121
122
-
Don’t call Hooks from regular JavaScript functions. Instead, you can:
122
+
N'appelez pas de Hooks depuis des fonctions JavaScript classiques. Vous devriez plutôt :
123
123
124
-
✅ Call Hooks from React function components.
125
-
✅ Call Hooks from [custom Hooks](/learn/reusing-logic-with-custom-hooks#extracting-your-own-custom-hook-from-a-component).
124
+
✅ Appeler des Hooks depuis des fonctions composants React.
125
+
✅ Appeler des Hooks depuis des [Hooks personnalisés](/learn/reusing-logic-with-custom-hooks#extracting-your-own-custom-hook-from-a-component).
126
126
127
-
By following this rule, you ensure that all stateful logic in a component is clearly visible from its source code.
127
+
En suivant cette règle, vous garantissez que toute la logique à état d'un composant est clairement visible dans son code source.
0 commit comments