【问题标题】:How to use provider in a builder? FLUTTER如何在构建器中使用提供者?扑
【发布时间】:2021-12-27 17:11:05
【问题描述】:

作为一种爱好,并且为了更好地使用提供程序,我正在使用提供程序将所有我喜欢的有状态小部件转换为无状态小部件。 我完全理解简单的情况,但现在我在 builder 中遇到了 provider 的问题。 这是我使用提供程序的地方(flipCardProvider.isBack)

Use Provider

而错误是下一个:

Provider Error

【问题讨论】:

  • 为了改进我建议您使用代码 sn-ps 而不是屏幕截图的问题,可以在代码块中概述它们。错误日志也是如此,值得将其作为单独的 blick

标签: flutter builder provider stateless


【解决方案1】:

我不认为在 builder 中调用 notifyListeners() 是正确的地方,肯定存在一般的设计缺陷和对框架如何工作的误解。 然而,作为一种解决方法,您可以将调用包装在 Timer()Future.delayed() 中,以便在 build() 完成后立即安排更新:

Timer(Duration(seconds: 0, () => notifyListeners())

【讨论】:

  • 你是对的! builder 中的 notifyListeners() 不是一个正确的地方!我所做的(并且有效)只是删除了构建器中的所有 notifyListeners()!
猜你喜欢
  • 2020-04-10
  • 2021-07-30
  • 1970-01-01
  • 2019-12-08
  • 1970-01-01
  • 1970-01-01
  • 2020-04-27
  • 2020-01-06
  • 2023-04-02
相关资源
最近更新 更多