小编Joe*_*bau的帖子

了解与 Provider<SomeType>.of(context, listen: false) 一起使用时 listen: false 的工作原理

我正在了解 Provider 包如何与 Flutter 一起工作,但对 listen:false 的工作方式感到困惑。

我使用新 Flutter 项目中常见的 Counter 示例编写了一些基本代码。我使用 Provider 创建了三种类型的无状态小部件:

  1. Provider.of(上下文)
  2. 消费者
  3. Provider.of(上下文,听:假)

第三个例子是展示如何在不重建的情况下访问提供者对象并调用它的方法。

当我运行应用程序时,所有小部件计数都在发生变化 - 我只希望它在前两个发生变化。

这是一个简单的例子 - 我做错了什么?

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

void main() => runApp(MyApp());

class Counter with ChangeNotifier {
  int _count = 0;
  int get count => _count;

  void increment() {
    _count++;
    notifyListeners();
  }
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider(builder: (_) => Counter()), …
Run Code Online (Sandbox Code Playgroud)

provider flutter

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

flutter ×1

provider ×1