Renat Fakhrutdinov
Committed by GitHub

Merge pull request #15 from BatttA/master

Changed russian translate in state_managment
@@ -74,7 +74,7 @@ var name = 'Jonatas Borges'.obs; @@ -74,7 +74,7 @@ var name = 'Jonatas Borges'.obs;
74 Что ж, в представлении во Flutter, когда мы хотим изменить конкретный виджет, приходится писать много шаблоного кода. 74 Что ж, в представлении во Flutter, когда мы хотим изменить конкретный виджет, приходится писать много шаблоного кода.
75 C **GetX** вы можете забыть о шаблонном коде. 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: …`? Нет, вам просто нужно поместить эту переменную в виджет `Obx()`.
78 78
79 ```dart 79 ```dart
80 Obx (() => Text (controller.name)); 80 Obx (() => Text (controller.name));
@@ -182,7 +182,7 @@ final user = User().obs; @@ -182,7 +182,7 @@ final user = User().obs;
182 182
183 ##### Реактивные состояния - это просто. 183 ##### Реактивные состояния - это просто.
184 184
185 -Как мы знаем,, _Dart_ сейчас движется в сторону _null safety_. 185 +Как мы знаем, _Dart_ сейчас движется в сторону _null safety_.
186 Чтобы быть готовым, с этого момента вы всегда должны начинать свои переменные _Rx_ с **начальным значением**. 186 Чтобы быть готовым, с этого момента вы всегда должны начинать свои переменные _Rx_ с **начальным значением**.
187 187
188 > Преобразование переменной в _observable_ + _начальное значение_ c **GetX** - самый простой и практичный подход. 188 > Преобразование переменной в _observable_ + _начальное значение_ c **GetX** - самый простой и практичный подход.
@@ -439,13 +439,13 @@ GetBuilder нацелен именно на контроль нескольки @@ -439,13 +439,13 @@ GetBuilder нацелен именно на контроль нескольки
439 439
440 ### Преимущества 440 ### Преимущества
441 441
442 -1. Обновляйте только необходимые виджетов. 442 +1. Обновляйте только необходимые виджеты.
443 443
444 2. Не используйте changeNotifier, это менеджер состояний, который использует меньше памяти (около 0 МБ). 444 2. Не используйте changeNotifier, это менеджер состояний, который использует меньше памяти (около 0 МБ).
445 445
446 3. Забудьте о StatefulWidget! С Get он больше не понадобится. С другими менеджерами состояний вам, вероятно, придется использовать StatefulWidget, чтобы получить экземпляр вашего Provider, BLoC, MobX Controller и т.д. Но задумывались ли вы когда-нибудь о том, что ваш AppBar, Scaffold и большинство виджетов в вашем классе не имеют состояния и по сути являются Stateless? Так зачем хранить состояние всего класса, если можно хранить только состояние виджета, которые истинно Stateful? Get решает и эту проблему. Создавайте классы Stateless, всё делайте stateless. Если вам нужно обновить один компонент, просто оберните его GetBuilder. 446 3. Забудьте о StatefulWidget! С Get он больше не понадобится. С другими менеджерами состояний вам, вероятно, придется использовать StatefulWidget, чтобы получить экземпляр вашего Provider, BLoC, MobX Controller и т.д. Но задумывались ли вы когда-нибудь о том, что ваш AppBar, Scaffold и большинство виджетов в вашем классе не имеют состояния и по сути являются Stateless? Так зачем хранить состояние всего класса, если можно хранить только состояние виджета, которые истинно Stateful? Get решает и эту проблему. Создавайте классы Stateless, всё делайте stateless. Если вам нужно обновить один компонент, просто оберните его GetBuilder.
447 447
448 -4. Организуйте свой проект по-настоящему! Контроллеры не должны быть в вашем пользовательском интерфейсе, поместите ваш TextEditController или любой контроллер, который вы используете, в свой классе Controller. 448 +4. Организуйте свой проект по-настоящему! Контроллеры не должны быть в вашем пользовательском интерфейсе, поместите ваш TextEditController или любой контроллер, который вы используете, в свой класс Controller.
449 449
450 5. Вам нужно инициировать событие для обновления виджета, как только он будет отрисован? GetBuilder имеет свойство initState, как и StatefulWidget, и вы можете вызывать события вашего контроллера прямо из него. 450 5. Вам нужно инициировать событие для обновления виджета, как только он будет отрисован? GetBuilder имеет свойство initState, как и StatefulWidget, и вы можете вызывать события вашего контроллера прямо из него.
451 451
@@ -652,7 +652,7 @@ GetBuilder<Controller>( @@ -652,7 +652,7 @@ GetBuilder<Controller>(
652 ), 652 ),
653 ``` 653 ```
654 654
655 -- Для этого можно использовать "некакноничные" подходы. Если вы используете какой-либо другой менеджер зависимостей, например get_it, modular и т.д., и просто хотите доставить экземпляр контроллера, вы можете сделать это: 655 +- Для этого можно использовать "неканоничные" подходы. Если вы используете какой-либо другой менеджер зависимостей, например get_it, modular и т.д., и просто хотите доставить экземпляр контроллера, вы можете сделать это:
656 656
657 ```dart 657 ```dart
658 Controller controller = Controller(); 658 Controller controller = Controller();