繁体   English   中英

Flutter setState 3 位置参数预期,但 1 发现错误

[英]Flutter setState 3 positional argument(s) expected, but 1 found error

单击按钮时,我尝试调用 setState 但 VScode 会生成如下错误。 它的 Stateful 小部件和 VScode 建议setState(mounted, setState, fn);

1

 Row(
     mainAxisAlignment: MainAxisAlignment.spaceEvenly,
     children: [
                    IconButton(
                      icon: Icon(
                        Icons.rounded_corner,
                      ),
                      onPressed: () {
                        setState(() {
                          selectedStock--;
                        });
                      },
                    ),
                    Text(selectedStock.toString()),
                    IconButton(
                      icon: Icon(
                        Icons.rounded_corner,
                      ),
                      onPressed: () {
                        // setState(mounted, setState, fn);
                        setState(() {
                          selectedStock++;
                        });
                      },
                    ),
                  ],
                ),

我遇到过同样的问题。 原来问题是这个导入:

import 'package:html_editor_enhanced/utils/utils.dart';

它定义了以下方法:

void setState(
    bool mounted, void Function(Function()) setState, void Function() fn) {
  if (mounted) {
    setState.call(fn);
  }
}

这与 Flutter framework文件中定义的冲突。

就我而言,结果证明我什至不需要那个导入,所以我只是删除了它。 如果你确实需要这个导入,你可以给它一个前缀:

import 'package:html_editor_enhanced/utils/utils.dart' as utils;

这样你将通过前缀调用它的方法并直接调用 Flutters setState()

有关导入前缀的更多信息: https : //dart.dev/guides/language/language-tour#libraries-and-visibility

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM