flutter 为什么我的setState在弹出屏幕后还在函数调用中?

iswrvxsc  于 2023-06-30  发布在  Flutter
关注(0)|答案(1)|浏览(118)

因此,我试图在弹出另一个导航器屏幕时设置我的小部件的状态,但由于某种原因,它无法工作。
这是我的代码。

class HomeScreen extends StatefulWidget {
  const HomeScreen({super.key});
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {

  void set() {
    setState(() {});
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        actions: <Widget>[
          Padding(
            padding: const EdgeInsets.only(top: 8.0),
            child: IconButton(
                    color: Colors.white,
                    iconSize: 30,
                    icon: const Icon(Icons.notifications_active_outlined),
                    onPressed: () {
                      Navigator.push(
                              context,
                              MaterialPageRoute(
                                  builder: (_) => const NextScreen()))
                          .then((value) {
                        set;
                      });
                    }),
        ],
      ),),
}

如果我直接将其作为.then((value) { setState(() {});});放入,则设置状态可以工作,但我需要一个函数,因为我还计划从其他屏幕设置状态,传递函数将是最好的方法。
任何帮助是赞赏!

neskvpey

neskvpey1#

你调用的set函数不正确
应该是

set()

相关问题