小编Pet*_*ter的帖子

将状态变量引用传递给函数

我想重用一个函数来更新StatefulWidget. 更新哪个状态变量应取决于作为参数传递给函数的变量引用。这是一些示例代码:

class _MyScreenState extends State<MyScreen> {
  String stateVariable = 'initial value';

  void update(String variableRef) {
    setState((() {
      variableRef = 'updated value';
    })
  }

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () => update(stateVariable),
      child: Text(stateVariable)
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

函数中状态设置成功setState,但遗憾的是状态变化并未在 UI 中体现,即build函数未再次调用。

我的期望是应该更新,因为我通过引用stateVariable将变量传递给函数。update这个假设是错误的吗?

您知道一种通过引用传递状态变量以便可以通过函数幂等更新它的方法吗?

dart flutter

0
推荐指数
1
解决办法
1084
查看次数

标签 统计

dart ×1

flutter ×1