Dependencies

  • Dependencies 是一个表达组件之间依赖关系的结构。它接收两个字段
  • 它主要包含三方面的信息
    • slots,组件依赖的插槽。
    • adapter,组件依赖的具体适配器(用来构建高性能的 ListView)。
    • Dependent 是 subComponent | subAdapter + connector 的组合。
    • 一个 组件的 Reducer 由 Component 自身配置的 Reducer 和它的 Dependencies 下的所有子 Reducers 自动复合而成。
  • 示例代码
  1. ///register in component
  2. class ItemComponent extends ItemComponent<ItemState> {
  3. ItemComponent()
  4. : super(
  5. view: buildItemView,
  6. reducer: buildItemReducer(),
  7. dependencies: Dependencies<ItemState>(
  8. slots: <String, Dependent<ItemState>>{
  9. 'appBar': AppBarComponent().asDependent(AppBarConnector()),
  10. 'body': ItemBodyComponent().asDependent(ItemBodyConnector()),
  11. 'ad_ball': ADBallComponent().asDependent(ADBallConnector()),
  12. 'bottomBar': BottomBarComponent().asDependent(BottomBarConnector()),
  13. },
  14. ),
  15. );
  16. }
  17. ///call in view
  18. Widget buildItemView(ItemState state, Dispatch dispatch, ViewService service) {
  19. return Scaffold(
  20. body: Stack(
  21. children: <Widget>[
  22. service.buildComponent('body'),
  23. service.buildComponent('ad_ball'),
  24. Positioned(
  25. child: service.buildComponent('bottomBar'),
  26. left: 0.0,
  27. bottom: 0.0,
  28. right: 0.0,
  29. height: 100.0,
  30. ),
  31. ],
  32. ),
  33. appBar: AppbarPreferSize(child: service.buildComponent('appBar')));
  34. }