Flutter: Stateless ແລະ Stateful Widget
ບົດນີ້ເຮົາຈະເວົ້າເຖິງ Stateless ແລະ Stateful Widget.
ຢູ່ໃນ Flutter ນັ້ນ, ສາມາດເວົ້າໄດ້ວ່າ ທຸກໆຢ່າງນັ້ນແມ່ນຢູ່ໃນຮູບຂອງ Widget ແລະ Widget ນີ້ສາມາດແບ່ງອອກເປັນ2ປະເພດຄື: Stateless ແລະ Stateful.
ຄວາມແຕກຕ່າງຄື Stateless Widget ແມ່ນບໍ່ເກັບສະຖານະບໍ່ສາມາດປ່ຽນແປງຄ່າໄດ້ເຊັ່ນ: ປຸ່ມ button ຕ່າງໆທີ່ມີຄ່າຄົງທີ່.

ສໍາລັບ Statefull Widget ແມ່ນສາມາດເກັບສະຖານະ, ສາມາດປ່ຽນຄ່າໄດ້ເຊັ່ນ: text field ຫລື slider,…

ການເຮັດວຽກຂອງ Stateful Widget ຄື: ຫລັງຈາກໄດ້ຮັບຄໍາສັ່ງໃດໜື່ງ (ຕົວຢ່າງ: ການເລື່ອນ slide), ຂໍ້ມູນຈະຖືກສົ່ງໄປທີ່ຟັງຊັນ setState(), ຟັງຊັນນີ້ຈະເປັນໂຕແຈ້ງເຕືອນ flutter ວ່າສະຖານະມີການປ່ຽນແປງ. ແຈ້ງວ່າມີການປ່ຽນຄ່າ ແລະ ເກັບສະຖານະນັ້ນທີ່ State Object ແລ້ວສະແດງຜົນທີ່ໜ້າແອັບດ້ວຍການ redraw.

ໃນບົດຄວາມກ່ອນນີ້, ການສະແດງຮູບຫລືຂໍ້ຄວາມຕ່າງໆນັ້ນມີລັກສະນະຄົງທີ່ ບໍ່ມີການປ່ຽນແປງ, ເຮົາຈື່ງສາມາດເອີ້ນໃຊ້ Stateless Widget ຄືດັ່ງລຸ່ມນີ້:
ສໍາລັບບົດນີ້ເຮົາຈະນໍາໃຊ້ Stateful Widget ເພື່ອສ້າງແອັບງ່າຍໆຄືດັ່ງລຸ່ມນີ້:

ແອັບນີ້ມີຊື່ວ່າແອັບລໍ້າລວຍ, ເທິງໜ້າແອັບຈະມີຈໍານວນເງິນ ແລະ ປຸ່ມກົດ “ຮັບເງິນ”, ທຸກໆຄັ້ງທີ່ກົດປຸ່ມຮັບເງິນ ຈໍານວນເງິນໃນບັນຊີຈະເພີ່ມຂື້ນເທື່ອລະ $100.
ການ Coding ແມ່ນເຮົາຈະສ້າງ 2 Class, GetMoney{} ແລະ GetMoneyState{}. GetMoney ຈະເອີ້ນ StatefulWidget ແລະ ຕອບກັບ GetMoneyState.
ຢູ່ໃນ GetMoneyState, ເຮົາຈະສ້າງຟັງຊັນໜື່ງຂື້ນມາເອີ້ນວ່າ _getMoney(), ເຊີ່ງຈະຖືກເອີ້ນທຸກຄັ້ງທີ່ປຸ່ມ “ຮັບເງິນ” ຖືກກົດ. ຢູ່ໃນຟັງຊັ້ນນີ້ຍັງມີການເອີ້ນ setState ເພື່ອແຈ້ງວ່າສະຖານະມີການປ່ຽນແປງ ແລະ ເພີ່ມຈໍານວນເງິນຂື້ນເທື່ອລະ $100
ສະຫລຸບລວມ: ທຸກໆອົງປະກອບໃນ Flutter ແມ່ນ Widget, ທຸກໆ Widget ນັ້ນແບ່ງອອກເປັນ2ປະເພດຄື: Stateless ແລະ Stateful. ການທີ່ຈະເອີ້ນໃຊ້ Stateless ຫລື Stateful ແມ່ນຂື້ນຈຸດປະສົງຂອງ Class ນັ້ນໆ.
Source Code ທັງໝົດນັ້ນສາມາດເບີ່ງໄດ້ທີ່ GitHub
ອ້າງອີງ:
https://www.udemy.com/flutter-dart-the-complete-flutter-app-development-course/
