首页 > 解决方案 > 值更改时如何在 Flutter 上重绘小部件?

问题描述

假设以下简单StatefulWidget示例:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _MyAppState();
  }
}

class _MyAppState extends State<MyApp> {
  int value = 0;
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('App Example')),
        body: Row(children:[
          Text("hello"), 
          RaisedButton(
            textColor: Colors.white,
            color: Colors.blue,
            onPressed: (){setState(() { value+=1; });},
            child: new Text("Add"),
          )
        ]),
      ),
    );
  }
}

Text("hello")我的主要问题是:每次 value更改时如何重绘?我正在使用Text作为示例,但它可能是具有内部状态的小部件,并且我想在值更改时重新绘制它。它不一定取决于,value但无论如何我想在value更改时重绘。

标签: flutterdart

解决方案


如果您的问题是您是否只想更改特定小部件的状态(例如 Text 小部件)而不干扰其他小部件。是一些状态管理,除了 SetState(我个人最喜欢的 BLOC 和 REDUx)之外可能会有所帮助。


推荐阅读