复制项目后,用于Flutter的Riverpod不工作

qij5mzcb  于 2023-01-27  发布在  Flutter
关注(0)|答案(4)|浏览(132)

我有一个Flutter项目,其中一个应用程序已经在本地开发了,我把文件复制到一个新文件夹,所以我把它用作Git的存储库。在执行了“pubspec get packages”之后,除了一些与Riverpod相关的行之外,一切都很好。如果我返回到旧文件夹,完全相同的代码会完美地工作,所以我想我必须做更多的事情。这里有一个例子:

final nombreJuegoTextFieldProvider = StateProvider<String>((ref) {
  return '';
});
void updateNombreJuegoTextField(BuildContext context, String nombre) {
  context.read(nombreJuegoTextFieldProvider).state = nombre;
}

问题是:

The method 'read' isn't defined for the type 'BuildContext'.
Try correcting the name to the name of an existing method, or defining a method named 'read'.
chhqkbe1

chhqkbe11#

context.read来自提供程序包
对于riverpod,您需要使用ref.read

5ktev3wc

5ktev3wc2#

你试过吗

  • 〉删除. gitignore文件-〉运行flutter清理项目
    也可能是路径被弄乱了。
vwoqyblh

vwoqyblh3#

您可能尚未将所有文件复制到新文件夹。请重复复制。这应包括以前版本中的所有目录和文件。
然后运行两个命令:

flutter clean
flutter pub get

在此代码示例中,可以使用ref访问提供程序的状态:

ref.read(nombreJuegoTextFieldProvider).state = nombre;
ct3nt3jp

ct3nt3jp4#

我只是再次重复了同样的过程,一切正常,我猜我第一次做的复制粘贴有一个错误,我不知道。

相关问题