본문 바로가기

Widget

가장 간단한 상태관리 ValueNotifier

Provider 도 아니고 . valueNotifier 로 간단한 상태관리가 가능하다.

 

 

ValueListenableBuilder 로하는 상태관리 State Manage

 

 

간단한 작업에 프로바이더 없이 상태관리가 가능 하다. 

 

import 'package:flutter/material.dart';

class ValueHome extends StatefulWidget {
  const ValueHome({super.key});

  @override
  State<ValueHome> createState() => _ValueHomeState();
}

class _ValueHomeState extends State<ValueHome> {
  int _counter = 0;
  ValueNotifier<int> _counterChanged = ValueNotifier(0);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: ValueListenableBuilder<int>(
          valueListenable: _counterChanged,
          builder: (context, valuelisten, child) {
            return Text(
              "Counter : $valuelisten",
              textAlign: TextAlign.center,
              style: TextStyle(fontSize: 24.0, fontWeight: FontWeight.bold),
            );
          },
        ),
      ),
      floatingActionButton: IconButton(
        onPressed: () {
          _counter++;
          _counterChanged.value = _counter;
        },
        icon: Icon(Icons.add, size: 50.0),
      ),
    );
  }
}