Renat

translate state_management.md on russian

@@ -72,7 +72,7 @@ var name = 'Jonatas Borges'.obs; @@ -72,7 +72,7 @@ var name = 'Jonatas Borges'.obs;
72 Нет, вам не нужен `StreamBuilder`, но насчёт статических классов вы правы. 72 Нет, вам не нужен `StreamBuilder`, но насчёт статических классов вы правы.
73 73
74 Что ж, в представлении во Flutter, когда мы хотим изменить конкретный виджет, приходится писать много шаблоного кода. 74 Что ж, в представлении во Flutter, когда мы хотим изменить конкретный виджет, приходится писать много шаблоного кода.
75 -With **GetX** you can also forget about this boilerplate code. 75 +C **GetX** вы можете забыть о шаблонном коде.
76 76
77 `StreamBuilder( … )`? `initialValue: …`? `builder: …`? Nope, you just need to place this variable inside an `Obx()` Widget. 77 `StreamBuilder( … )`? `initialValue: …`? `builder: …`? Nope, you just need to place this variable inside an `Obx()` Widget.
78 78
@@ -80,23 +80,23 @@ With **GetX** you can also forget about this boilerplate code. @@ -80,23 +80,23 @@ With **GetX** you can also forget about this boilerplate code.
80 Obx (() => Text (controller.name)); 80 Obx (() => Text (controller.name));
81 ``` 81 ```
82 82
83 -_What do you need to memorize?_ Only `Obx(() =>`. 83 +_Что нужно запомнить?_ Только `Obx(() =>`.
84 84
85 -You are just passing that Widget through an arrow-function into an `Obx()` (the "Observer" of the _Rx_). 85 +Вы просто передаёте этот виджет через стрелочную функцию в `Obx()` ("Observer" в _Rx_).
86 86
87 -`Obx` is pretty smart, and will only change if the value of `controller.name` changes. 87 +`Obx` довольно умён и изменится только при изменении значения `controller.name`.
88 88
89 -If `name` is `"John"`, and you change it to `"John"` (`name.value = "John"`), as it's the same `value` as before, nothing will change on the screen, and `Obx`, to save resources, will simply ignore the new value and not rebuild the Widget. **Isn't that amazing?** 89 +Если `name` == `"John"`, и вы измените его на `"John"` (`name.value = "John"`), на экране ничего не изменится, так как это то же значение, что и раньше. `Obx` для экономии ресурсов просто проигнорирует новое значение, а не будет перестраивать виджет. **Разве это не потрясающе?**
90 90
91 -> So, what if I have 5 _Rx_ (observable) variables within an `Obx`? 91 +> Итак, что, если у меня есть 5 переменных _Rx_ (observable) в `Obx`?
92 92
93 -It will just update when **any** of them changes. 93 +Он просто обновится, когда **любой** из них изменится.
94 94
95 -> And if I have 30 variables in a class, when I update one, will it update **all** the variables that are in that class? 95 +> И если у меня есть 30 переменных в классе, когда я обновлю одну, обновятся ли **все** переменные этого класса?
96 96
97 -Nope, just the **specific Widget** that uses that _Rx_ variable. 97 +Нет, только **конкретный виджет**, который использует эту переменную _Rx_.
98 98
99 -So, **GetX** only updates the screen, when the _Rx_ variable changes it's value. 99 +Итак, **GetX** обновляет экран только тогда, когда переменная _Rx_ меняет свое значение.
100 100
101 ``` 101 ```
102 final isOpen = false.obs; 102 final isOpen = false.obs;
@@ -104,7 +104,7 @@ final isOpen = false.obs; @@ -104,7 +104,7 @@ final isOpen = false.obs;
104 // NOTHING will happen... same value. 104 // NOTHING will happen... same value.
105 void onButtonTap() => isOpen.value=false; 105 void onButtonTap() => isOpen.value=false;
106 ``` 106 ```
107 -### Advantages 107 +### Преимущества
108 108
109 **GetX()** helps you when you need **granular** control over what's being updated. 109 **GetX()** helps you when you need **granular** control over what's being updated.
110 110