Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗flPmStSF 62 of 125 menu
◀ ▶

StatefulWidget и State в Flutter

Изменяемый экран описывают двумя классами. Оболочка с const-конструктором и настройками снаружи - это StatefulWidget. Дольше одного вызова build живёт объект State: в нём лежат поля счётчика, флагов, списков.

У StatefulWidget переопределяют createState и возвращают новый экземпляр своего State. Метод build пишут уже в классе State: он получает BuildContext и возвращает дерево виджетов. Параметры родительского виджета читают через widget внутри State. Поле можно поменять вручную, но надпись не изменится без setState:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: HomePage())); } class HomePage extends StatefulWidget { const HomePage({super.key}); @override State<HomePage> createState() => _HomePageState(); } class _HomePageState extends State<HomePage> { // library-private int taps = 0; @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Text('Taps so far: $taps'), ), ); } }

Создайте StatefulWidget GreetingPage. В State заведите поле:

String name = 'Guest';

В build выведите Text со строкой 'Hello, ' и значением name.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить