刚入门flutter开发,使用StatefulWidget踩了很多坑,就我遇到典型问题谈谈见解。
1.initState方法只会在控件初始化的时候执行一遍。
2.控件内部执行setState方法,则会每次执行build方法。
3.控件销毁会执行dispose方法,所以一些未释放的资源可以在该方法中执行,例如计时器。
4.使用控件则外部执行setState方法,控件内部会执行didUpdateWidget方法和build方法。
5.需要外部刷新控件的状态,可以在didUpdateWidget上处理,initState不执行,所以千万不要在initState处理。
6.外部使用控件时遇到三目运算符:条件?Widget A:Widget B;类似的情况时,当执行了Widget A,外部条件改变时,执行了Widget B时,再执行到Widget A时,控件会重建,换句话说,就会执行initState,相反,从Widget A执行到Widget B ,Widget A会被销毁,即会执行dispose方法。文章来源:https://www.toymoban.com/news/detail-688986.html
先总结这些,有啥不正确的地方欢迎评论指正。后续有啥感悟,我会继续追加文章。文章来源地址https://www.toymoban.com/news/detail-688986.html
到了这里,关于Flutter关于StatefulWidget中State刷新时机的一点实用理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!