alibaba / fish-redux

An assembled flutter application framework.
https://github.com/alibaba/fish-redux
Apache License 2.0
7.33k stars 843 forks source link

如何在一个非fish_redux组件中广播一个Action供fish_redux组件(或者页面)使用? #723

Closed luckysmg closed 3 years ago

luckysmg commented 4 years ago

我在一个Manager类中使用如下代码发出广播:

/// 这里是我一个Manager类中的代码
class Manager{
  void getMsg(){
    sharedBus.broadcast(FirstActionCreator.getMsg());
  }
}
///这里是我effect中的代码
Effect<FirstState> buildEffect() {
  return combineEffects(<Object, Effect<FirstState>>{
    FirstAction.getMsg: _getMsg,
  });
}
void _getMsg(Action action, Context<FirstState> ctx) {
  ///获取广播后处理msg
  print('拿到了msg');
}

但是effect那边并不能收到此事件,请问是本来就这样设计的还是我使用姿势不对??

alexon6 commented 3 years ago

可用自定义的bus代替在非fishredux组件发广播,fishredux的effect里接收