【不定时更新补充】边学习边用flutter开发一款社区App,记录下每次的踩坑记录。

目录

组件

待补充

状态

setState方法

当我们在有状态下的组件(StatefulWidget)时,可以动态的更新组件状态。
例如我的组件是展示用户昵称,也包含修改用户昵称的功能。

class UserProfilePage extends StatefulWidget {
UserProfilePage({super.key});
@override
State<StatefulWidget> createState() => UserProfilePageState();
}
class UserProfilePageState extends State<UserProfilePage> {
late String name = "小明";
// 按钮onTap时,调用 changeName(),则可发生改变
changeName() {
  setState((){name = "小红";});
}
@override
Widget build(BuildContext context) {
return Text(name)
}
}

那么setState实际做了什么事情呢?

  1. func内的逻辑执行,做一些修改动作
  2. 触发当前class 的build方法,对当前页进行重新绘制,最终起到了动态修改name的作用。

因此我们要注意,在使用setState时避免循环调用build!例如changeName直接写在build方法中,没有经过任何条件或事件下每次都能触发,则会导致循环调用。

posted @   LiusCraft  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示