我已经开始使用flutter_bloc包而不是 redux 来尝试它,但我不完全确定在从本机(Android/iOS)接收内容时如何调用颤振 bloc 事件。使用 redux 更容易,因为在我的main.dart文件的父MyApp小部件中,我将 redux 存储传递给我创建的自定义类,并从所述类(称为MethodChannelHandler)分派方法。
主要飞镖:
void main() {
runApp(new MyApp());
}
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final Store<AppState> store = Store<AppState>(
// ... redux stuff ...
);
@override
void initState() {
// sauce
MethodChannelHandler(store);
super.initState();
}
}
方法ChannelHandler.dart:
class MethodChannelHandler {
Store<AppState> store;
MethodChannelHandler(this.store) {
methodChannel.setMethodCallHandler(_handleMethod);
}
// Handle method calls from native
Future _handleMethod(MethodCall call) async {
if (call.method == A_METHOD) {
store.dispatch("something from native")
}
}
}
注意:我在编程词汇方面无能,所以如果可能的话,请给我一小段示例代码,就像我拥有的那样,或者将我链接到我可以参考的一些GitHub 存储库,而不是给我一段文本'我可能不会明白。