【问题标题】:Flutter: The argument type 'MultiProvider Function()' can't be assigned to the parameter type 'Widget Function(BuildContext)'Flutter:无法将参数类型“MultiProvider Function()”分配给参数类型“Widget Function(BuildContext)”
【发布时间】:2022-06-20 01:13:09
【问题描述】:

这个flutter代码抛出参数类型'MultiProvider Function()'不能分配给参数类型'Widget Function(BuildContext)'

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ScreenUtilInit(
      designSize: Size(460,790),
      builder: () => MultiProvider(
        providers: [
          ChangeNotifierProvider(create: (context) => api()),
          ChangeNotifierProvider(create: (context) => PageControllerProvider()),
          ChangeNotifierProvider(create: (context) => RequestProvider()),
          ChangeNotifierProvider(create: (context) => HistoryProvider()),
          ChangeNotifierProvider(create: (context) => ThemeProvider()),
        ],
        child: App()
      ),
    );
  }
}

有没有人建议解决这个问题?

谢谢。

【问题讨论】:

标签: android flutter dart


【解决方案1】:

使用Builder 小部件将ScreenUtilInit 包装起来,如下面的代码所示。

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Builder(
       builder : () => ScreenUtilInit(
      designSize: Size(460,790),
      builder: () => MultiProvider(
        providers: [
          ChangeNotifierProvider(create: (context) => api()),
          ChangeNotifierProvider(create: (context) => PageControllerProvider()),
          ChangeNotifierProvider(create: (context) => RequestProvider()),
          ChangeNotifierProvider(create: (context) => HistoryProvider()),
          ChangeNotifierProvider(create: (context) => ThemeProvider()),
        ],
        child: App()
      ),
     )
    );
  }
}

【讨论】:

  • 就像我提到的那样,它也会引发错误。
【解决方案2】:

尝试将 ScreenUtilInit 包更新到最新版本。在最新版本(撰写本文时为^5.5.3+2)中,builder参数的签名更改为Function(BuildContext context, Widget? child)

【讨论】:

    猜你喜欢
    • 2020-08-30
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 2021-11-06
    • 2021-08-13
    • 2020-05-15
    • 2021-09-01
    • 2021-08-22
    相关资源
    最近更新 更多