问题描述 投票:0回答:1

我对Flutter相当陌生,我很难理解在哪个阶段我应该使用有状态的小部件。为了说明我的问题,这里是一个简单的布局。

简单的布局

假设我们想在用户点击容器时改变它们的背景颜色。

我应该让我的HomePage小部件成为一个有状态的小部件,保持容器的状态?或者我应该让我的HomePage成为一个无状态的小部件,并让我的两个容器有状态的小部件保持它们的状态?

flutter architecture stateless stateful state-management
1个回答
0
投票

首先,你需要了解什么时候你需要使用Stateful Widget。Flutter官方网站上说

当你所描述的用户界面的一部分可以动态变化时,有状态的部件是很有用的,例如,由于有一个内部时钟驱动的状态,或者取决于一些系统状态。

您可能希望在点击时改变一个容器的状态,而不是整个HomePage。因此,如果将HomePage做成Stateful Widget,那么当其中一个Container被点击时,就必须重新渲染。如果你把Containers Stateful Widget和HomePage Stateless Widget分开制作,那么只有被点击的Containers才会被重建。所以,选择一个比另一个的好处会根据你的目标而改变。选择一个更适合你的。

© www.soinside.com 2019 - 2024. All rights reserved.