Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
学习flatter Redux-这段代码有什么问题?_Redux_Dart_Flutter - Fatal编程技术网

学习flatter Redux-这段代码有什么问题?

学习flatter Redux-这段代码有什么问题?,redux,dart,flutter,Redux,Dart,Flutter,我刚刚进入颤振、飞镖和重发阶段。我跟随YouTube视频修改了默认的颤振示例以使用Redux,但这对我来说是失败的,我仍然很难理解异常并有效地应对它们。代码如下: 导入“包装:颤振/材料.省道”; 导入“package:meta/meta.dart”; 导入“package:redux/redux.dart”; 导入“包:flutter_redux/flutter_redux.dart”; //以下是youtube视频:https://youtu.be/X8B-UzqEaWc void main

我刚刚进入颤振、飞镖和重发阶段。我跟随YouTube视频修改了默认的颤振示例以使用Redux,但这对我来说是失败的,我仍然很难理解异常并有效地应对它们。代码如下:

导入“包装:颤振/材料.省道”;
导入“package:meta/meta.dart”;
导入“package:redux/redux.dart”;
导入“包:flutter_redux/flutter_redux.dart”;
//以下是youtube视频:https://youtu.be/X8B-UzqEaWc
void main()=>runApp(新的MyApp());
@不变的
类AppState{
最终整数计数器;
AppState(此计数器);
}
//行动
枚举操作{increment}
//纯函数
AppState减速机(AppState prev,动作){
if(action==Actions.increment){
返回新的AppState(上一个计数器+1);
}
返回上一个;
}
类MyApp扩展了无状态小部件{
//此小部件是应用程序的根。
@凌驾
小部件构建(构建上下文){
返回新材料PP(
标题:“颤振演示”,
主题:新主题数据.dark(),
主页:新建MyHomePage(),
);
}
}
类MyHomePage扩展了无状态小部件{
最终存储=新存储(缩减器,初始状态:新AppState(0));
//打印(store.state.counter);store.state.counter,
生成器:(上下文,计数器)=>新文本(
“$counter”,
样式:Theme.of(context).textTheme.display1,
)
)
],
),
),
floatingActionButton:新的StoreConnector(
转换器:(存储){
return()=>store.dispatch(Actions.increment);
},
生成器:(上下文,回调)=>newfloatingActionButton(
onPressed:回调,
工具提示:“增量”,
子:新图标(Icons.add),
),
) 
),
);
}
}
因此,首先,当我尝试运行此程序时,我得到一个异常,该异常声明“以下NoSuchMethodError是在构建StoreConnector(dirty)时抛出的:
I/flatter(20662):getter“store”被调用为null。
”。第二个问题是为什么代码中突出显示的print方法不能识别计数器getter?谢谢。

问题是我将“dart.previewDart2”设置为true,我想在最新的预览版本中可能会出问题。一旦我将选项设置为false,所有操作都正常

详情:

  • 进入文件->首选项->设置
  • 在搜索框中键入“dart”
  • 找到设置dart.previewDart2后,单击其左侧的铅笔图标并选择“复制到设置”
  • 在用户设置的右侧,将设置设置为true

您只能访问方法或构造函数主体中的类成员。您的print语句正在查找静态成员或顶级命名存储。谢谢!我已编辑了您的答案以添加该信息。您现在可以删除该注释(稍后我将删除此注释!)