setState()问题

来源:12-12 网格卡片功能实现&布局技巧-2【布局进阶】

等她下班

2019-07-14

老师,开发调试时,发现setState()调用了一次,但是build()执行了多次。
在我调试过程中,发现build(BuildContext context)调用了三次,最后一次调用时,组件的初始值才合法(即数据加载完成,页面重新渲染)。
按照我的理解,build()方法调用两次才合理,第一次是页面初次渲染,因为是异步请求,此时数据加载中,第二次是setState()时,数据发生变化,页面重新渲染。
此类问题如何解决?
图片描述

写回答

1回答

CrazyCodeBoy

2019-07-15

组件的build不仅受组件自身的setState影响还受父组件的state影响,build是否调用是由框架决定的,不用担心build的调用。

0
1
等她下班
非常感谢!
2019-07-24
共1条回复

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3274 问题

查看课程