gpt4 book ai didi

angular - Redux/ngrx/store 架构 : why not dispatch actions from dumb components?

转载 作者:太空狗 更新时间:2023-10-29 17:02:42 25 4
gpt4 key购买 nike

我正在构建 Angular 2 ngrx/store 应用程序并尝试了解最佳实践。

  • 我喜欢有一个不可变的状态,它只根据分派(dispatch)的操作发生变化,这样应用状态就非常清晰且可调试。
  • 我喜欢从“智能”容器流出的单向数据流,因为这允许我们使用异步管道来减少状态检查。

但我不明白为什么我们要在将操作分派(dispatch)到商店之前将事件从dumb组件一直“冒泡”到智能组件。是拥有可重用组件的唯一原因吗?在我看来,大多数组件无论如何都不会被重复使用,因为在很多情况下我都希望所有内容都相同,包括 CSS。我还缺少其他好处吗?从可维护性/可读性的 Angular 来看,能够直接在发生交互的组件上看到分派(dispatch)的操作不是更好吗?

最佳答案

首先,我不是主题免责声明方面的专家。

  • 我觉得智能组件控制dumb组件实际上就是所谓的中介者模式。使用此模式可确保更少的组件必须处理 store,从而增强了虱子耦合。
  • 易于维护:如果您必须重构和批量重命名操作,当操作出现在较少的地方时,这样做会更容易。
  • 有一个处理 Action 的中心位置允许对架构进行快速概览store 访问逻辑的热交换也可以更容易地完成。
  • 正如已经提到的:重用。您可以在具有或不具有 ngrx 架构的项目之间共享和重用dumb组件。
  • 也可以通过连接不同的输入输出在同一个项目中重用。例如:dropdownComponent 可能有很多需要不同输入和输出的用例。

关于angular - Redux/ngrx/store 架构 : why not dispatch actions from dumb components?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37866740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com