我将原始状态保留在State
中。但是对于对象,可以使用以下功能:
class _Like extends StatefulWidget {
final Post _post; <-- mutable object is here
_Like(this._post);
@override
State<StatefulWidget> createState() => _LikeState();
}
class _LikeState extends State<_Like> {
...
_like() {
setState(() {
widget._post.liked = !widget._post.liked; <-- mutated here
});
}
...
}
不使用此方法的原因是什么? (与在State
内部移动状态相反,最好在原始bool
中移动状态)
答案 0 :(得分:1)
可能是因为initState()
在State
类中,您的StatefulWidget
无法调用。因此,您的整个状态应在您的State
类中,以允许这样做。