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
Call`createFactory(type)`to create a factory function which produces React elements of a given `type`.
29
+
Appelez`createFactory(type)`pour créer une fonction *factory* qui produira ensuite des éléments React du `type` passé.
30
30
31
31
```js
32
32
import { createFactory } from'react';
33
33
34
34
constbutton=createFactory('button');
35
35
```
36
36
37
-
Then you can use it to create React elements without JSX:
37
+
Vous pouvez alors l'utiliser pour créer des éléments React sans recourir à JSX:
38
38
39
39
```js
40
40
exportdefaultfunctionApp() {
41
41
returnbutton({
42
42
onClick: () => {
43
-
alert('Clicked!')
43
+
alert('Cliqué !')
44
44
}
45
-
}, 'Click me');
45
+
}, 'Cliquez ici');
46
46
}
47
47
```
48
48
49
-
[See more examples below.](#usage)
49
+
[Voir d'autres exemples ci-dessous](#usage).
50
50
51
-
#### Parameters {/*parameters*/}
51
+
#### Paramètres {/*parameters*/}
52
52
53
-
*`type`: The`type`argument must be a valid React component type. For example, it could be a tag name string (such as`'div'`or`'span'`), or a React component (a function, a class, or a special component like[`Fragment`](/reference/react/Fragment)).
53
+
*`type` : l'argument`type`doit être un type de composant React valide. Par exemple, ce pourrait être un nom de balise (tel que`'div'`ou`'span'`) ou un composant React (une fonction, une classe ou un composant spécial comme un[`Fragment`](/reference/react/Fragment)).
54
54
55
-
#### Returns {/*returns*/}
55
+
#### Valeur renvoyée {/*returns*/}
56
56
57
-
Returns a factory function. That factory function receives a`props`object as the first argument, followed by a list of`...children` arguments, and returns a React element with the given `type`, `props`and`children`.
57
+
Renvoie une fonction *factory*. Cette fonction *factory* reçoit un objet`props`comme premier argument, suivi par une liste d'arguments`...children`, et renvoie un élément React avec les `type`, `props`et`children` passés.
58
58
59
59
---
60
60
61
-
## Usage {/*usage*/}
61
+
## Utilisation {/*usage*/}
62
62
63
-
### Creating React elements with a factory {/*creating-react-elements-with-a-factory*/}
63
+
### Créer des éléments React avec une *factory* {/*creating-react-elements-with-a-factory*/}
64
64
65
-
Although most React projects use [JSX](/learn/writing-markup-with-jsx)to describe the user interface, JSX is not required. In the past, `createFactory` used to be one of the ways you could describe the user interface without JSX.
65
+
Même si la majorité des projets React utilisent [JSX](/learn/writing-markup-with-jsx)pour décrire leurs interfaces utilisateurs (UI), JSX n'est pas obligatoire. Autrefois, une des manières de décrire l'UI sans recourir à JSX consistait à utiliser `createFactory`.
66
66
67
-
Call`createFactory`to create a *factory function* for a specific element type like `'button'`:
67
+
Appelez`createFactory`pour créer une *fonction factory* calée sur un type d'élément spécifique, par exemple la balise native `'button'`:
68
68
69
69
```js
70
70
import { createFactory } from'react';
71
71
72
72
constbutton=createFactory('button');
73
73
```
74
74
75
-
Calling that factory function will produce React elements with the props and children you have provided:
75
+
En appelant cette fonction *factory*, vous obtiendrez des éléments React avec les props et enfants que vous aurez fournis :
This is how `createFactory`was used as an alternative to JSX. However, `createFactory`is deprecated, and you should not call `createFactory`in any new code. See how to migrate away from `createFactory`below.
95
+
Voilà comment on utilisait `createFactory`au lieu de JSX. Ceci dit, `createFactory`est dépréciée, et vous ne devriez pas utiliser `createFactory`dans du nouveau code. Découvrez ci-dessous comment retirer les appels à `createFactory`de votre code.
96
96
97
97
---
98
98
99
99
## Alternatives {/*alternatives*/}
100
100
101
-
### Copying`createFactory`into your project {/*copying-createfactory-into-your-project*/}
101
+
### Copier`createFactory`dans votre projet {/*copying-createfactory-into-your-project*/}
102
102
103
-
If your project has many `createFactory` calls, copy this `createFactory.js`implementation into your project:
103
+
Si votre projet à de nombreux appels à `createFactory`, copiez cette implémentation alternative `createFactory.js`dans votre base de code :
If you have a few `createFactory`calls that you don't mind porting manually, and you don't want to use JSX, you can replace every call a factory function with a [`createElement`](/reference/react/createElement) call. For example, you can replace this code:
137
+
Si vous n'avez que quelques appels à `createFactory`et que vous voulez bien les migrer manuellement, sans pour autant recourir à JSX, vous pouvez remplacer chaque appel à une fonction *factory* par un appel à [`createElement`](/reference/react/createElement). Par exemple, vous pouvez remplacer ce code:
0 commit comments