RiverPod context.read 不需要参数

时间:2021-05-05 19:32:20

标签: flutter riverpod

所以我开始使用 RiverPod。 尝试阅读 context.read(myProvider) 时,我收到此消息:

Too many positional arguments: 0 expected, but 1 found.

我正在使用 flutter_riverpod: ^0.14.0+3

转到读取函数定义 - 我转到具有此函数的 provider.dart 文件:

 T read<T>() {
    return Provider.of<T>(this, listen: false);
  }

2 个答案:

答案 0 :(得分:1)

所以 - 我发现 flutter_bloc 和 flutter_riverpod 有一些重叠。

import 'package:flutter_bloc/flutter_bloc.dart' show BlocBuilder, BlocProvider;

解决了问题。

答案 1 :(得分:-1)

你应该这样称呼它: context.read<myProvider>(); 其中 myProvider 是您的提供商的类型

正如你在定义中看到的,read 不接受参数。 它使用泛型:https://dart.dev/guides/language/language-tour#generics

编辑

检查这个问题: https://github.com/rrousselGit/river_pod/issues/214#issuecomment-781030552