【问题标题】:how to use consumer correctly in flutter provider package如何在颤振提供者包中正确使用消费者
【发布时间】:2021-01-28 00:47:23
【问题描述】:

这是错误信息

: The following NoSuchMethodError was thrown building Consumer<PageOffsetNotifier>(dirty,
: dependencies: [_InheritedProviderScope<PageOffsetNotifier>]):
: The method 'unary-' was called on null.
: Receiver: null
: Tried calling: unary-()

这是有消费者的类

class LeopardImage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Consumer<PageOffsetNotifier>(
      builder: (context,notifier,child) => Positioned(
          width:300, left: -notifier.offset,
          child: child,
      ),
      child: Image.asset('assets/leopard.png'),
    );
  }
}

这里的 PageOffsetNotifier 是用 ChangeNotifier 扩展并传递给 ChangeNotifierProvider

的类

通知器将在将一页滑动到另一页时检测偏移值的变化并执行所需的功能.....

请告诉我我在消费者中遗漏了什么或做错了什么,结果,我收到了这个错误

【问题讨论】:

    标签: flutter provider consumer changenotifier


    【解决方案1】:

    使用提供者将上下文从一个页面传递到另一个页面。那么使用它的对象总是明智的

    ChangeNotifierProvider.value(
        value: object from Provider,
        child: the page you want to move
    )
    

    【讨论】:

      【解决方案2】:

      它的父小部件将是:

      ChangeNotiferProvider<ClassName>(
          
         oncreate: (context)=>ClassName(),
      ),
      

      这样你就可以在里面使用消费者了。

      【讨论】:

        猜你喜欢
        • 2021-11-01
        • 2020-06-04
        • 1970-01-01
        • 2020-04-16
        • 2019-12-08
        • 2020-05-10
        • 2022-01-15
        • 2020-12-24
        • 2022-08-19
        相关资源
        最近更新 更多