这个周末我在玩 Flutter,到目前为止我很喜欢。我现在正在深入研究状态管理。来自 React 背景,我尝试使用它来实现redux,flutter_redux但似乎flutter_redux不起作用,BloC所以我的问题也不是很明显:有没有人设法在 web 上使用功能状态管理器?
3 回答
这不是特定于状态管理的。目前没有可以在 Web 中使用的颤振包。
要解决这个临时问题,您需要对每个要使用的包进行 fork,并进行一些更改:
所有对颤振文件的导入都必须从更改
import 'package:flutter/<whatever>为import 'package:flutter_web/<whatever>改变
pubspec.yaml
从:
dependencies:
flutter:
sdk: flutter
进入
dependencies:
flutter_web:
git:
url: https://github.com/flutter/flutter_web
path: packages/flutter_web
flutter_web_ui:
git:
url: https://github.com/flutter/flutter_web
path: packages/flutter_web_ui
好的,经过长时间的研究,我终于让它工作了……我想。正如 Rémi 所指出的那样,我所做的是分叉flutter_reduxrepo 并更改导入引用,但这还不够,因为我的 IDE 中仍然有一个错误,抱怨StoreProvider:The return type 'StoreProvider<AppState>' isn't a 'Widget', as defined by the method 'build'..
flutter_redux您还需要编辑此文件(实际上是 lib 中唯一的文件)并flutter_redux/lib/flutter_redux.dart更改导入以使用flutter_web:https ://github.com/ciokan/flutter_redux/commit/e8a4f099925c2960cc1bd68aa193f8f38dbd01d5
我的编译器现在给我竖起大拇指,我仍然没有完整的工作redux,但我怀疑困难的部分已经完成。
虽然 flutter_web 中没有状态管理,但我的临时解决方法是在导航参数中传递状态。