Samet Çilingir
Committed by GitHub

Update state_management.md

@@ -90,7 +90,7 @@ Obx (() => Text (controller.name)); @@ -90,7 +90,7 @@ Obx (() => Text (controller.name));
90 90
91 _Ezberlemek için neye ihtiyacın var?_Sadece `Obx(() =>` . 91 _Ezberlemek için neye ihtiyacın var?_Sadece `Obx(() =>` .
92 92
93 -You are just passing that Widget through an arrow-function into an `Obx()` (the "Observer" of the _Rx_). 93 +
94 Bu Widget'ı bir ok işlevinden bir 'Obx()' (_Rx_'in "Observable") içine geçiriyorsunuz. 94 Bu Widget'ı bir ok işlevinden bir 'Obx()' (_Rx_'in "Observable") içine geçiriyorsunuz.
95 95
96 `Obx` oldukça akıllıdır ve yalnızca `controller.name`nin değeri değiştiğinde değişecektir. 96 `Obx` oldukça akıllıdır ve yalnızca `controller.name`nin değeri değiştiğinde değişecektir.
@@ -111,7 +111,7 @@ Bu nedenle, **GetX** yalnızca _Rx_ değişkeni değerini değiştirdiğinde ekr @@ -111,7 +111,7 @@ Bu nedenle, **GetX** yalnızca _Rx_ değişkeni değerini değiştirdiğinde ekr
111 111
112 final isOpen = false.obs; 112 final isOpen = false.obs;
113 113
114 -// NOTHING will happen... same value. 114 +// Hiçbir şey olmadı. Işte aynı değer.
115 void onButtonTap() => isOpen.value=false; 115 void onButtonTap() => isOpen.value=false;
116 ``` 116 ```
117 117
@@ -351,11 +351,11 @@ Ayrıca listelerde ".value" kullanmanıza gerek yok, harika dart api'ları bunu @@ -351,11 +351,11 @@ Ayrıca listelerde ".value" kullanmanıza gerek yok, harika dart api'ları bunu
351 Ne yazık ki, String ve int gibi ilkel türler genişletilemez, bu da kullanımını sağlar.Değer zorunludur, ancak bunlar için get ve setter'larla çalışıyorsanız bu bir sorun olmayacaktır. 351 Ne yazık ki, String ve int gibi ilkel türler genişletilemez, bu da kullanımını sağlar.Değer zorunludur, ancak bunlar için get ve setter'larla çalışıyorsanız bu bir sorun olmayacaktır.
352 352
353 ``` dart 353 ``` dart
354 -// On the controller 354 +// controller içinde
355 final String title = 'User Info:'.obs 355 final String title = 'User Info:'.obs
356 final list = List<User>().obs; 356 final list = List<User>().obs;
357 357
358 -// on the view 358 +// view içinde
359 Text(controller.title.value), // .value olması gerekir 359 Text(controller.title.value), // .value olması gerekir
360 ListView.builder ( 360 ListView.builder (
361 itemCount: controller.list.length // listelerin buna ihtiyacı yok 361 itemCount: controller.list.length // listelerin buna ihtiyacı yok
@@ -383,7 +383,7 @@ user.age = 18; @@ -383,7 +383,7 @@ user.age = 18;
383 // user değişkenini güncellemenin alternatif bir yolu: 383 // user değişkenini güncellemenin alternatif bir yolu:
384 user(User(name: 'João', age: 35)); 384 user(User(name: 'João', age: 35));
385 385
386 -// on view: 386 +// view içinde:
387 Obx(()=> Text("Name ${user.value.name}: Age: ${user.value.age}")) 387 Obx(()=> Text("Name ${user.value.name}: Age: ${user.value.age}"))
388 // model değerlerine .value olmadan da erişebilirsiniz: 388 // model değerlerine .value olmadan da erişebilirsiniz:
389 user().name; 389 user().name;
@@ -404,8 +404,6 @@ Bu kitaplığın toplam ağırlığı, eksiksiz bir çözüm olmasına rağmen t @@ -404,8 +404,6 @@ Bu kitaplığın toplam ağırlığı, eksiksiz bir çözüm olmasına rağmen t
404 404
405 Eğer `.value` dan rahatsızsanız MobX harika bir alternatiftir ve Get ile birlikte kullanabilirsiniz. 405 Eğer `.value` dan rahatsızsanız MobX harika bir alternatiftir ve Get ile birlikte kullanabilirsiniz.
406 406
407 -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.  
408 -  
409 MobX code generator ile bir sorununuz yoksa veya BLoC ilgili bir sorununuz yoksa Get ile route'u kullanabilirsiniz. Get SEM ve RSM ile doğdu, şirketimin 90'dan fazla controller'a sahip bir projesi var.Büyük bir projeniz varsa, oldukça iyi bir makinede bir Flutter Clean'den sonra görevlerini tamamlaması 30 dakikadan fazla sürdü. 5, 10, 15 controller, herhangi bir state manager size yardımcı olacaktır. Büyük bir projeniz varsa ve code generator sizin için bir sorunsa, bu çözüm size verildi. 407 MobX code generator ile bir sorununuz yoksa veya BLoC ilgili bir sorununuz yoksa Get ile route'u kullanabilirsiniz. Get SEM ve RSM ile doğdu, şirketimin 90'dan fazla controller'a sahip bir projesi var.Büyük bir projeniz varsa, oldukça iyi bir makinede bir Flutter Clean'den sonra görevlerini tamamlaması 30 dakikadan fazla sürdü. 5, 10, 15 controller, herhangi bir state manager size yardımcı olacaktır. Büyük bir projeniz varsa ve code generator sizin için bir sorunsa, bu çözüm size verildi.
410 408
411 Açıkçası, birisi projeye katkıda bulunmak ve bir code generator veya benzeri bir şey oluşturmak istiyorsa, bunu readme'de alternatif olarak bağlantı ekleyeceğim, şimdilik diyorum ki, bunu zaten yapan iyi çözümler var, MobX gibi. 409 Açıkçası, birisi projeye katkıda bulunmak ve bir code generator veya benzeri bir şey oluşturmak istiyorsa, bunu readme'de alternatif olarak bağlantı ekleyeceğim, şimdilik diyorum ki, bunu zaten yapan iyi çözümler var, MobX gibi.
@@ -502,12 +500,12 @@ class Controller extends GetxController { @@ -502,12 +500,12 @@ class Controller extends GetxController {
502 } 500 }
503 // Stateless/Stateful sınıfınızda, artış çağrıldığında Metni güncellemek için Get Builder'ı kullanın 501 // Stateless/Stateful sınıfınızda, artış çağrıldığında Metni güncellemek için Get Builder'ı kullanın
504 GetBuilder<Controller>( 502 GetBuilder<Controller>(
505 - init: Controller(), // INIT IT ONLY THE FIRST TIME 503 + init: Controller(), // SADECE ILK SEFERINDE "INIT" YAPIN
506 builder: (_) => Text( 504 builder: (_) => Text(
507 '${_.counter}', 505 '${_.counter}',
508 ), 506 ),
509 ) 507 )
510 -//Initialize your controller only the first time. The second time you are using ReBuilder for the same controller, do not use it again. Your controller will be automatically removed from memory as soon as the widget that marked it as 'init' is deployed. You don't have to worry about that, Get will do it automatically, just make sure you don't start the same controller twice. 508 +//Controller'ı sadece ilk seferinde "initialize" edin. Aynı controller için ikinci defa ReBuilder kullandıysanız, bunu bir daha yapmayın. Controller, widget içinde "init" işlemi gerçekleştikten sonra otomatik olarak hafızadan kaldırılacaktır. Bunun için endişelenmenize gerek yoktur, Get bunu otomatik olarak yapacaktır. Sadece aynı controller'ı birden fazla kez başlatmadığınıza emin olun yeter.
511 ``` 509 ```
512 510
513 **Tamamlandı!** 511 **Tamamlandı!**
@@ -669,7 +667,7 @@ class Controller extends GetxController { @@ -669,7 +667,7 @@ class Controller extends GetxController {
669 // static Controller get to => Get.find(); // static olmadan 667 // static Controller get to => Get.find(); // static olmadan
670 [...] 668 [...]
671 } 669 }
672 -// on stateful/stateless class 670 +// stateful/stateless class içinde
673 GetBuilder<Controller>( 671 GetBuilder<Controller>(
674 init: Controller(), // Her controller'ı bir kez kullanın 672 init: Controller(), // Her controller'ı bir kez kullanın
675 builder: (_) => Text( 673 builder: (_) => Text(
@@ -728,10 +726,6 @@ GetxController'ı extends etmek önemlidir, çünkü yaşam döngüleri vardır @@ -728,10 +726,6 @@ GetxController'ı extends etmek önemlidir, çünkü yaşam döngüleri vardır
728 726
729 ## StateMixin 727 ## StateMixin
730 728
731 -Another way to handle your `UI` state is use the `StateMixin<T>` .  
732 -To implement it, use the `with` to add the `StateMixin<T>`  
733 -to your controller which allows a T model.  
734 -  
735 `UI` state'ini ele almanın başka bir yolu da `StateMixin<T>` kullanmaktır. 729 `UI` state'ini ele almanın başka bir yolu da `StateMixin<T>` kullanmaktır.
736 Bunu uygulamak için, `StateMixin<T>` ile `with`i kullanın. 730 Bunu uygulamak için, `StateMixin<T>` ile `with`i kullanın.
737 bir controller'a T modelinizi ekleyin. 731 bir controller'a T modelinizi ekleyin.
@@ -740,9 +734,6 @@ bir controller'a T modelinizi ekleyin. @@ -740,9 +734,6 @@ bir controller'a T modelinizi ekleyin.
740 class Controller extends GetController with StateMixin<User>{} 734 class Controller extends GetController with StateMixin<User>{}
741 ``` 735 ```
742 736
743 -The `change()` method change the State whenever we want.  
744 -Just pass the data and the status in this way:  
745 -  
746 `change()` yöntemi istediğimiz zaman State'i değiştirir. 737 `change()` yöntemi istediğimiz zaman State'i değiştirir.
747 Sadece verileri ve state'i bu şekilde iletin: 738 Sadece verileri ve state'i bu şekilde iletin:
748 739