parameters - Flutter:将传递的参数更改为 "StatefulWidget"

标签 parameters dart flutter statefulwidget

我有一个名为 BounceContainerStatefulWidget。此类包含一个参数 child ,就像典型的 Flutter 小部件一样。基本上,只要用户点击它,它就会弹出 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 参数发生变化,child 本身也不会更新。

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

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

最佳答案

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

访问它们

关于parameters - Flutter:将传递的参数更改为 "StatefulWidget",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56245553/

相关文章:

java - 带参数的单例

dart - Flutter:轮廓输入边框

flutter - _断言错误('package:firebase_auth/src/firebase_auth.dart' : Failed assertion: line 95 pos 12: 'email != null' : is not true.)

flutter - 代码错误,Flutter 中的 BuildContext

传递给函数的 C 可变参数

java - 如何在 Java 中传递应该具有三个值的单个参数?

json - 如何在 flutter 中解析2D列表的json

flutter - 从 DateTime 类中获取意外日期

Flutter Google Map 在 map 上旋转

java - Java中的OpenCV approxPolyDP函数参数