Flutter:更改传递给“ StatefulWidget”的参数

时间:2019-05-21 19:58:02

标签: parameters dart flutter statefulwidget

我有一个名为StatefulWidget的{​​{1}}。此类包含像典型的Flutter小部件一样的参数BounceContainer。基本上,每当用户点击child时,它就会反弹。到目前为止,我传递 child 参数的方式如下:

child

在这种情况下,问题在于,即使class BounceContainer extends StatefulWidget { final Widget child; // Declaring "child" BounceContainer({this.child}); // Initializing "child" // Passing "child" to State @override _BounceContainerState createState() => _BounceContainerState(this.child); } class _BounceContainerState extends State<BounceContainer> { Widget child; _BounceContainerState(this.child); // Receiving "child" @override Widget build(BuildContext context) { ... } } 参数发生更改,本身也不会更新。

例如,如果我有一个按钮,其颜色根据child从灰色变为任何随机颜色,并且将此按钮作为AnimationController参数传递给child类,则该按钮仍然保持灰色并呼叫BounceContainer (从主程序或setState()类)也不会强制更新 child 小部件。

解决此问题的正确方法(也是有效方法)是什么?

1 个答案:

答案 0 :(得分:2)

您不需要将所有参数传递给State类。您可以使用widget.child

访问它们