ใน Flutter มีสองประเภทหลัก คือ Widgets: Stateless และ Stateful สิ่งเหล่านี้เป็นประเภทที่สำคัญสองประเภท Widgets ที่มีบทบาทสำคัญในการสร้างส่วนต่อประสานผู้ใช้ของแอพ
Stateless Widgets
-
Stateless Widgets คือ widgets ไม่มีสถานะใด ๆ และไม่เปลี่ยนแปลงหลังจากสร้างขึ้น เมื่อสถานะของแอปเปลี่ยนแปลง Stateless Widgets ให้วาดใหม่ด้วยค่าใหม่แต่จะไม่คงสถานะใดๆ
-
Stateless Widgets เหมาะสำหรับส่วนประกอบ UI พื้นฐานที่ไม่เปลี่ยนแปลง ตัวอย่าง:
Text, Icon, Image, RaisedButton
. -
Stateless Widgets ถูกสร้างขึ้นโดยการสืบทอดจากคลาส StatelessWidget และนำเมธอด build() ไปใช้เพื่อส่งคืนการแสดง UI
Stateful Widgets
-
Stateful Widgets มี widgets สถานะและสามารถเปลี่ยนแปลงได้ระหว่างรันไทม์ เมื่อสถานะเปลี่ยนแปลง Stateful Widgets จะถูกวาดใหม่โดยอัตโนมัติเพื่อแสดงการเปลี่ยนแปลงใหม่
-
Stateful Widgets โดยทั่วไปจะใช้เมื่อคุณต้องการส่วนประกอบ UI แบบโต้ตอบที่ต้องจัดเก็บสถานะและการเปลี่ยนแปลงตามการโต้ตอบของผู้ใช้ ตัวอย่าง:
Form, Checkbox, DropdownButton.
-
Stateful Widgets ถูกสร้างขึ้นโดยสืบทอดจากคลาส StatefulWidget และรวมกับคลาส State ที่แยกต่างหากเพื่อจัดเก็บสถานะและจัดการการอัปเดต UI
บทสรุป:
Stateless และ Stateful Widgets เป็นแนวคิดที่สำคัญใน Flutter. Stateless Widgets ใช้สำหรับส่วนประกอบที่ไม่มีสถานะและไม่เปลี่ยนแปลง ในขณะที่ Stateful Widgets ใช้สำหรับส่วนประกอบที่ต้องจัดเก็บและเปลี่ยนสถานะ การใช้ประเภทที่เหมาะสม Widgets สำหรับแต่ละส่วนประกอบช่วยให้คุณสร้างอินเทอร์เฟซผู้ใช้ที่ยืดหยุ่นและมีประสิทธิภาพ