当父小部件给出不同的值时如何重新初始化状态?

时间:2021-06-26 03:53:15

标签: flutter

void initState() {
    var size = widget.screensize;
    double step = size.width * widget.width;

屏幕大小由父小部件给出。

1 个答案:

答案 0 :(得分:0)

您想覆盖 State 中的 didUpdateWidget 方法。这将在父级更新您从中获取参数的 widget 属性时运行:

@override
void didUpdateWidget(oldWidget) {
  var size = widget.screensize;
  double step = size.width * widget.width;
  //and whatever other code you want
}

如果您不想要重复的代码,您可以将该代码提取到一个方法中,并在 initStatedidUpdateWidget 中调用它。

相关问题