import 'package:flutter/material.dart';
void main() { runApp(SomeWidget()); }
class SomeWidget extends StatefulWidget { @override State createState() => SomeWidgetState(); }
class SomeWidgetState extends State { int count = 0;
void incrementCount() => setState(() => count++);
@override Widget build(BuildContext context) { return SomeWidgetView(controller: this); } }
class SomeWidgetView extends StatelessWidget { const SomeWidgetView({super.key, required this.controller});
final SomeWidgetState controller;
@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Center( child: TextButton( onPressed: controller.incrementCount, child: MyDeepChild(count: controller.count), ), ), ), ); } }
class MyDeepChild extends StatelessWidget { const MyDeepChild({super.key, required this.count}); final int count;
@override Widget build(BuildContext context) { return Text('$count'); } }