我想知道setState()
在Flutter中是如何工作的。
我有一个页面,其中包含ListView和“播放”按钮。当我按下按钮时,我叫setState()
来更改按钮上的图标。这将触发ListView重建其项目的整个列表。
我应该将按钮包装在新的StatefulWidget中,所以重建按钮不会重建整个页面吗?还是Flutter聪明到足以找出真正改变的地方而只重建这些小部件?如果是这种情况,它将如何运作?我确定列表项的构建方法正在被调用...
答案 0 :(得分:0)
您应该对Flutter中的响应式编程和 Streams 有更多了解。 响应式编程是围绕 Streams 和侦听器的体系结构。 Streams 仅允许您重建一个特定的元素,效率更高!
来自Google I / O '18的视频:
https://www.youtube.com/watch?v=RS36gBEp8OI
很棒的帖子,解释了 Streams 和响应式编程的概念:
https://www.didierboelens.com/2018/08/reactive-programming---streams---bloc/
这是中等难度的方法,但是值得学习!
祝你好运!