Stateless เทียบกับ Stateful Widgets ใน Flutter

ใน 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 สำหรับแต่ละส่วนประกอบช่วยให้คุณสร้างอินเทอร์เฟซผู้ใช้ที่ยืดหยุ่นและมีประสิทธิภาพ