复制一个值到另一个 StatefulWidget

Copy a value to another StatefulWidget

我尝试重新构建此视频的代码 (https://www.youtube.com/watch?v=d5PpeNb-dOY) ,这是关于如何将 String 值复制到另一个 StatefulWidget,但现在我得到 BodyConstructionState(value) 红色下划线 ,它说“太多位置参数:预期 0 个,但找到 1 个。" Value 来自另一个小部件。我不知道为什么,因为我做的和视频中的那个人做的一样。谁能告诉我我的错误是什么?提前致谢!

class BodyConstruction extends StatefulWidget {

      String value;
      BodyConstruction({Key key, @required this.value}) : super(key : key);


      @override
      _BodyConstructionState createState() => _BodyConstructionState(value);
    }

    class _BodyConstructionState extends State<BodyConstruction> {

      String value;
      _BodyConstructionState({this.value});

当您创建 BodyContruction 的对象时,您应该这样做

BodyConstruction object = new BodyConstruction(value: "Some Value");

而不是

BodyConstruction object = new BodyConstruction("Some Value");

使用 {} 创建构造函数参数会使它们命名为可选参数。

注意:new键盘在 Dart 中是可选的。

这会很完美。看看吧。

   // declare a body construction object
   BodyConstruction _bodyConstruction;

   // initialise the object declared above
   _bodyConstruction = BodyConstruction(value: 'Your Value');

注意:在构造函数或方法体中使用{}时,表示命名参数。查看官方文档以获得更多解释。

Click here to read more on named parameters in Flutter