Kurnia Andi Nugroho
flutter, flutter bahasa, Cross-platform app development, Dart programming language, User interface design, Flutter framework, Getting started with Flutter, Building a Flutter app, Flutter state management tutorial, Flutter animation tutorial, Flutter navigation tutorial, Flutter networking tutorial, Flutter Firebase tutorial, Flutter for beginners tutorial
0 comment
StatefulWidget adalah jenis widget di Flutter yang menyimpan data internal yang dapat diubah. StatefulWidget dapat diubah secara dinamis selama runtime, dan juga dapat diperbarui ketika ada perubahan dalam data internalnya. StatefulWidget harus digunakan jika Kita memerlukan widget yang dapat diubah setelah dibangun.
Sintaks untuk membuat StatefulWidget di Flutter adalah sebagai berikut:
class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Container(
child: Text('Counter: $_counter'),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
child: Icon(Icons.add),
),
);
}
}
Di atas, kelas MyWidget yang mengextend StatefulWidget, dan kelas ini memiliki metode createState() yang mengembalikan objek baru dari kelas _MyWidgetState. Kelas _MyWidgetState mengextend State, di mana MyWidget adalah kelas induknya, dan ini memiliki metode build(BuildContext context) yang digunakan untuk membuat tampilan widget.
Secara umum, StatefulWidget memiliki 2 class yaitu :
Dan class yang mengextend Statebuild yang digunakan untuk membuat tampilan widget.
Beberapa properti yang dapat digunakan pada StatefulWidget di Flutter adalah sebagai berikut:
key: Digunakan untuk mengidentifikasi widget unik dalam hierarki widget.child: Digunakan untuk menentukan widget anak yang akan ditampilkan dalam widget ini.initialData: Digunakan untuk menentukan data awal yang akan digunakan oleh widget.state: Digunakan untuk mengakses objek State yang digunakan oleh widget.build: Fungsi yang digunakan untuk membuat tampilan widget.didUpdateWidget: Dipanggil ketika widget diperbarui, dapat digunakan untuk melakukan aksi seperti memperbarui data internal.dispose: Dipanggil ketika widget dihapus dari hierarki widget, dapat digunakan untuk membersihkan sumber daya yang digunakan oleh widget.createState: Dipanggil ketika widget dibuat, digunakan untuk menciptakan objek State yang akan digunakan oleh widget.Namun, beberapa properti diatas adalah properti yang umum digunakan pada semua jenis widget, sebagian lagi adalah properti yang spesifik pada StatefulWidget.
Properti initialData digunakan untuk menentukan data awal yang akan digunakan oleh StatefulWidget. Sintaks untuk menentukan data awal pada StatefulWidget adalah sebagai berikut:
class MyWidget extends StatefulWidget {
final String initialText;
MyWidget({required this.initialText});
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State {
String _text;
@override
void initState() {
super.initState();
_text = widget.initialText;
}
@override
Widget build(BuildContext context) {
return Container(
child: Text(_text),
);
}
}
Di atas, kelas MyWidget yang menerima parameter initialText pada constructor-nya. Kemudian di kelas _MyWidgetState, kami menggunakan widget.initialText untuk menentukan nilai awal dari _text.
Kita dapat menggunakan properti initialData pada constructor dari class yang mengextend StatefulWidget, dan mengambil data ini di kelas yang mengextend Statewidget.initialData pada method initState atau di method lain yang sesuai.
Kurnia Andi Nugroho
Web & Mobile App Developer, Laravel, Inertia, Vue.Js, React.Js
Founder of Lagikoding.com Laravel Enthusiast & Web Developer