Showing
1 changed file
with
28 additions
and
28 deletions
1 | - [Gestion d'État](#gestion-d-etat) | 1 | - [Gestion d'État](#gestion-d-etat) |
2 | - [Gestionnaire d'état réactif](#gestionnaire-d-etat-reactif) | 2 | - [Gestionnaire d'état réactif](#gestionnaire-d-etat-reactif) |
3 | - [Avantages](#avantages) | 3 | - [Avantages](#avantages) |
4 | - - [Maximum performance:](#maximum-performance) | ||
5 | - - [Declaring a reactive variable](#declaring-a-reactive-variable) | ||
6 | - - [Having a reactive state, is easy.](#avoir-un-état-réactif-cest-facile) | ||
7 | - - [Using the values in the view](#using-the-values-in-the-view) | ||
8 | - - [Conditions to rebuild](#conditions-to-rebuild) | ||
9 | - - [Where .obs can be used](#where-obs-can-be-used) | ||
10 | - - [Note about Lists](#note-about-lists) | 4 | + - [Performance maximale:](#performance-maximale) |
5 | + - [Déclaration d'une variable réactive](#declaration-d-une-variable-reactive) | ||
6 | + - [Avoir un état réactif, c'est facile.](#avoir-un-etat-reactif-c-est-facile) | ||
7 | + - [Utilisation des valeurs dans la Vue](#utilisation-des-valeurs-dans-la-vue) | ||
8 | + - [Conditions pour reconstruire](#conditions-pour-reconstruire) | ||
9 | + - [Quand utiliser .obs](#quand-utiliser-obs) | ||
10 | + - [Remarque sur List](#remarque-sur-list) | ||
11 | - [Pourquoi je dois utiliser .value](#pourquoi-je-dois-utiliser-value) | 11 | - [Pourquoi je dois utiliser .value](#pourquoi-je-dois-utiliser-value) |
12 | - [Obx()](#obx) | 12 | - [Obx()](#obx) |
13 | - [Workers](#workers) | 13 | - [Workers](#workers) |
@@ -142,7 +142,7 @@ Lors de la jonction de deux __observables__, si l'une change; le listener de cet | @@ -142,7 +142,7 @@ Lors de la jonction de deux __observables__, si l'une change; le listener de cet | ||
142 | 142 | ||
143 | Avec **GetX**, si vous joignez deux variables, `GetX ()` (similaire à `Observer ()`), ne se reconstruira que si cela implique un réel changement d'état. | 143 | Avec **GetX**, si vous joignez deux variables, `GetX ()` (similaire à `Observer ()`), ne se reconstruira que si cela implique un réel changement d'état. |
144 | 144 | ||
145 | -### Déclaration d'une variable réactive | 145 | +### Declaration d une variable reactive |
146 | 146 | ||
147 | Vous avez 3 façons de transformer une variable en "observable". | 147 | Vous avez 3 façons de transformer une variable en "observable". |
148 | 148 | ||
@@ -173,7 +173,7 @@ final myMap = Rx<Map<String, int>>({}); | @@ -173,7 +173,7 @@ final myMap = Rx<Map<String, int>>({}); | ||
173 | final user = Rx<User>(); | 173 | final user = Rx<User>(); |
174 | ``` | 174 | ``` |
175 | 175 | ||
176 | -3 - TLa troisième approche, plus pratique, plus facile et préférée, ajoutez simplement **`.obs`** comme propriété de votre` valeur`: | 176 | +3 - La troisième approche, plus pratique, plus facile et préférée, ajoutez simplement **`.obs`** comme propriété de votre` valeur`: |
177 | 177 | ||
178 | ```dart | 178 | ```dart |
179 | final name = ''.obs; | 179 | final name = ''.obs; |
@@ -188,7 +188,7 @@ final myMap = <String, int>{}.obs; | @@ -188,7 +188,7 @@ final myMap = <String, int>{}.obs; | ||
188 | final user = User().obs; | 188 | final user = User().obs; |
189 | ``` | 189 | ``` |
190 | 190 | ||
191 | -##### Avoir un état réactif, c'est facile. | 191 | +##### Avoir un etat reactif, c est facile. |
192 | 192 | ||
193 | Comme nous le savons, _Dart_ se dirige maintenant vers _null safety_. | 193 | Comme nous le savons, _Dart_ se dirige maintenant vers _null safety_. |
194 | Pour être prêt, à partir de maintenant, vous devez toujours commencer vos variables _Rx_ avec une **valeur initiale**. | 194 | Pour être prêt, à partir de maintenant, vous devez toujours commencer vos variables _Rx_ avec une **valeur initiale**. |
@@ -198,7 +198,7 @@ Pour être prêt, à partir de maintenant, vous devez toujours commencer vos var | @@ -198,7 +198,7 @@ Pour être prêt, à partir de maintenant, vous devez toujours commencer vos var | ||
198 | Vous allez littéralement ajouter un "".obs"" à la fin de votre variable, et **c'est tout**, vous l'avez rendue observable, | 198 | Vous allez littéralement ajouter un "".obs"" à la fin de votre variable, et **c'est tout**, vous l'avez rendue observable, |
199 | et sa `.value`, eh bien, sera la _valeurInitiale_. | 199 | et sa `.value`, eh bien, sera la _valeurInitiale_. |
200 | 200 | ||
201 | -### Utilisation des valeurs de la vue | 201 | +### Utilisation des valeurs dans la Vue |
202 | 202 | ||
203 | ```dart | 203 | ```dart |
204 | // dans le controlleur | 204 | // dans le controlleur |
@@ -287,7 +287,7 @@ list.addIf(item < limit, item); | @@ -287,7 +287,7 @@ list.addIf(item < limit, item); | ||
287 | 287 | ||
288 | Sans décorations, sans générateur de code, sans complications :smile: | 288 | Sans décorations, sans générateur de code, sans complications :smile: |
289 | 289 | ||
290 | -Connaissez-vous l'application de counter de Flutter? Votre classe Controller pourrait ressembler à ceci: | 290 | +Connaissez-vous l'application 'counter' de Flutter? Votre classe Controller pourrait ressembler à ceci: |
291 | 291 | ||
292 | ```dart | 292 | ```dart |
293 | class CountController extends GetxController { | 293 | class CountController extends GetxController { |
@@ -375,43 +375,43 @@ user().name; //notez que c'est la variable utilisateur, pas la classe (la variab | @@ -375,43 +375,43 @@ user().name; //notez que c'est la variable utilisateur, pas la classe (la variab | ||
375 | ``` | 375 | ``` |
376 | 376 | ||
377 | Vous n'êtes pas obligé de travailler avec des setters si vous ne le souhaitez pas. vous pouvez utiliser les API «assign» et «assignAll». | 377 | Vous n'êtes pas obligé de travailler avec des setters si vous ne le souhaitez pas. vous pouvez utiliser les API «assign» et «assignAll». |
378 | -L'API «assign» effacera votre liste et ajoutera un seul objet que vous souhaitez y démarrer. | 378 | +L'API «assign» effacera votre liste et ajoutera un seul objet que vous souhaitez. |
379 | L'API "assignAll" effacera la liste existante et ajoutera tous les objets itérables que vous y injecterez. | 379 | L'API "assignAll" effacera la liste existante et ajoutera tous les objets itérables que vous y injecterez. |
380 | 380 | ||
381 | ### Pourquoi je dois utiliser .value | 381 | ### Pourquoi je dois utiliser .value |
382 | 382 | ||
383 | -We could remove the obligation to use 'value' to `String` and `int` with a simple decoration and code generator, but the purpose of this library is precisely avoid external dependencies. We want to offer an environment ready for programming, involving the essentials (management of routes, dependencies and states), in a simple, lightweight and performant way, without a need of an external package. | 383 | +Nous pourrions supprimer l'obligation d'utiliser 'value' pour `String` et` int` avec une simple décoration et un générateur de code, mais le but de cette bibliothèque est précisément d'éviter les dépendances externes. Nous souhaitons proposer un environnement prêt à la programmation, impliquant l'essentiel (gestion des routes, des dépendances et des états), de manière simple, légère et performante, sans avoir besoin d'un package externe. |
384 | 384 | ||
385 | -You can literally add 3 letters to your pubspec (get) and a colon and start programming. All solutions included by default, from route management to state management, aim at ease, productivity and performance. | 385 | +Vous pouvez littéralement ajouter 3 lettres à votre pubspec (get) et un signe deux-points et commencer la programmation. Toutes les solutions incluses par défaut, de la gestion des routes à la gestion des états, visent la facilité, la productivité et la performance. |
386 | 386 | ||
387 | -The total weight of this library is less than that of a single state manager, even though it is a complete solution, and that is what you must understand. | 387 | +Le poids total de cette bibliothèque est inférieur à celui d'un seul gestionnaire d'état, bien qu'il s'agisse d'une solution complète, et c'est ce que vous devez comprendre. |
388 | 388 | ||
389 | -If you are bothered by `.value`, and like a code generator, MobX is a great alternative, and you can use it in conjunction with Get. For those who want to add a single dependency in pubspec and start programming without worrying about the version of a package being incompatible with another, or if the error of a state update is coming from the state manager or dependency, or still, do not want to worrying about the availability of controllers, whether literally "just programming", get is just perfect. | 389 | +Si vous êtes dérangé par `.value`, et comme un générateur de code, MobX est une excellente alternative, et vous pouvez l'utiliser en conjonction avec Get. Pour ceux qui veulent ajouter une seule dépendance dans pubspec et commencer à programmer sans se soucier de l'incompatibilité de la version d'un package avec un autre, ou si l'erreur d'une mise à jour d'état vient du gestionnaire d'état ou de la dépendance, ou encore, ne veulent pas s'inquiéter de la disponibilité des contrôleurs, que ce soit littéralement "juste de la programmation", get est tout simplement parfait. |
390 | 390 | ||
391 | -If you have no problem with the MobX code generator, or have no problem with the BLoC boilerplate, you can simply use Get for routes, and forget that it has state manager. Get SEM and RSM were born out of necessity, my company had a project with more than 90 controllers, and the code generator simply took more than 30 minutes to complete its tasks after a Flutter Clean on a reasonably good machine, if your project it has 5, 10, 15 controllers, any state manager will supply you well. If you have an absurdly large project, and code generator is a problem for you, you have been awarded this solution. | 391 | +Si vous n'avez aucun problème avec le générateur de code MobX, ou si vous n'avez aucun problème avec le code standard BLoC, vous pouvez simplement utiliser Get pour les routes et oublier qu'il a un gestionnaire d'état. Get SEM et RSM sont nés par nécessité, mon entreprise avait un projet avec plus de 90 contrôleurs, et le générateur de code a simplement pris plus de 30 minutes pour terminer ses tâches après un Flutter Clean sur une machine raisonnablement bonne, si votre projet il a 5, 10, 15 contrôleurs, n'importe quel gestionnaire d'état vous suffira bien. Si vous avez un projet d'une taille absurde et que le générateur de code est un problème pour vous, cette solution vous a été attribuée. |
392 | 392 | ||
393 | -Obviously, if someone wants to contribute to the project and create a code generator, or something similar, I will link in this readme as an alternative, my need is not the need for all devs, but for now I say, there are good solutions that already do that, like MobX. | 393 | +Évidemment, si quelqu'un veut contribuer au projet et créer un générateur de code, ou quelque chose de similaire, je vais créer un lien dans ce readme comme alternative, mon besoin n'est pas le besoin de tous les développeurs, mais pour l'instant je dis q'il y a de bonnes solutions qui font déjà cela, comme MobX. |
394 | 394 | ||
395 | ### Obx() | 395 | ### Obx() |
396 | 396 | ||
397 | -Typing in Get using Bindings is unnecessary. you can use the Obx widget instead of GetX which only receives the anonymous function that creates a widget. | ||
398 | -Obviously, if you don't use a type, you will need to have an instance of your controller to use the variables, or use `Get.find<Controller>()` .value or Controller.to.value to retrieve the value. | 397 | +Les types dans Get à l'aide de Bindings ne sont pas nécessaires. Vous pouvez utiliser le widget Obx, au lieu de GetX, qui ne reçoit que la fonction anonyme qui crée un widget. |
398 | +Évidemment, si vous n'utilisez pas de type, vous devrez avoir une instance de votre contrôleur pour utiliser les variables, ou utiliser `Get.find <Controller> ()` .value ou Controller.to.value pour récupérer la valeur . | ||
399 | 399 | ||
400 | ### Workers | 400 | ### Workers |
401 | 401 | ||
402 | -Workers will assist you, triggering specific callbacks when an event occurs. | 402 | +Les 'workers' vous assisteront, déclenchant des callbacks spécifiques lorsqu'un événement se produit. |
403 | 403 | ||
404 | ```dart | 404 | ```dart |
405 | -/// Called every time `count1` changes. | ||
406 | -ever(count1, (_) => print("$_ has been changed")); | 405 | +/// Appelé à chaque fois que «count1» change. |
406 | +ever(count1, (_) => print("$_ a été modifié")); | ||
407 | 407 | ||
408 | -/// Called only first time the variable $_ is changed | ||
409 | -once(count1, (_) => print("$_ was changed once")); | 408 | +/// Appelé uniquement la première fois que la variable est modifiée |
409 | +once(count1, (_) => print("$_ a été changé une fois")); | ||
410 | 410 | ||
411 | -/// Anti DDos - Called every time the user stops typing for 1 second, for example. | 411 | +/// Anti DDos - Appelé chaque fois que l'utilisateur arrête de taper pendant 1 seconde, par exemple. |
412 | debounce(count1, (_) => print("debouce$_"), time: Duration(seconds: 1)); | 412 | debounce(count1, (_) => print("debouce$_"), time: Duration(seconds: 1)); |
413 | 413 | ||
414 | -/// Ignore all changes within 1 second. | 414 | +/// Ignore toutes les modifications en 1 seconde. |
415 | interval(count1, (_) => print("interval $_"), time: Duration(seconds: 1)); | 415 | interval(count1, (_) => print("interval $_"), time: Duration(seconds: 1)); |
416 | ``` | 416 | ``` |
417 | All workers (except `debounce`) have a `condition` named parameter, which can be a `bool` or a callback that returns a `bool`. | 417 | All workers (except `debounce`) have a `condition` named parameter, which can be a `bool` or a callback that returns a `bool`. |
-
Please register or login to post a comment