Showing
1 changed file
with
5 additions
and
5 deletions
@@ -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(); |
-
Please register or login to post a comment