在Flutter的build方法内部调用Provider中的方法,可以通过使用Consumer或Selector来实现。
Consumer<DataModel>(
builder: (context, data, child) {
// 在这里调用Provider中的方法
data.someMethod();
return SomeWidget();
},
)
Selector<DataModel, int>(
selector: (context, data) => data.someProperty,
builder: (context, someProperty, child) {
// 在这里调用Provider中的方法
Provider.of<DataModel>(context, listen: false).someMethod();
return SomeWidget();
},
)
需要注意的是,为了避免不必要的UI刷新,最好将Provider中方法的调用放在合适的条件下,比如在特定的状态改变时才调用方法。
Elastic 实战工作坊
云原生正发声
【产研荟】直播系列
云+社区技术沙龙[第14期]
腾讯技术创作特训营第二季第3期
云+社区技术沙龙[第16期]
云+社区技术沙龙[第21期]
云+社区技术沙龙[第1期]
技术创作101训练营
高校公开课
云+社区开发者大会(苏州站)
领取专属 10元无门槛券
手把手带您无忧上云