加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

有角度 – “哑”应该是哑的组件吗?

发布时间:2020-12-17 09:29:48 所属栏目:安全 来源:网络整理
导读:我正在使用智能/转储组件构建我的Redux(NgRx)应用程序,但我正在努力决定如何“愚蠢”愚蠢的组件应该是… 例如,我有一个聪明的组件(帖子),它有一个愚蠢的组件(post-list),它包含愚蠢的组件(post).直到这里,一切都看起来不错. 要显示一些按钮,我需要知道用户是
我正在使用智能/转储组件构建我的Redux(NgRx)应用程序,但我正在努力决定如何“愚蠢”愚蠢的组件应该是…

例如,我有一个聪明的组件(帖子),它有一个愚蠢的组件(post-list),它包含愚蠢的组件(post).直到这里,一切都看起来不错.

要显示一些按钮,我需要知道用户是否管理员,我需要将属性管理员一直从帖子传递到帖子.

我可以将愚蠢的组件文章连接到商店,并直接从愚蠢的组件中获取.或者在这种情况下的组件是否还是笨蛋?
它看起来像这样:

private admin$: Observable<boolean>;
  constructor(private store: Store<AppState>){
    this.admin$= this.store.let(isAdmin());
  }

我认为这会节省大量的冗余.这是好还是坏的做法?

哑组件应该是没有任何逻辑的表示组件.

据反应团队的Dan Abramov介绍,哑配件符合以下标准:

>关心事情的样子.
>可以在内部包含表示和容器组件**,通常有一些自己的DOM标记和样式.
通常可以通过this.props.children进行控制.
>没有依赖于应用程序的其余部分,例如Flux操作或商店.
>不要指定数据如何加载或突变.
>通过道具专门接收数据和回调.
>很少有自己的状态(当他们做的时候,它是UI状态而不是数据).
>被编写为功能组件,除非它们需要状态,生命周期挂钩或性能优化.
>示例:页面,边栏,故事,用户信息,列表.

有角度

他们应该通过输入和输出流显示信息并处理事件.

所以我的建议是检查ngrx示例应用程序在智能和哑巴:https://github.com/ngrx/example-app

还可以看到我在游戏中如何实现智能和愚蠢.
https://github.com/wizardnet972/tic-tac-toe

注意:容器组件也可重用.组件是否是演示组件或容器组件是实现细节.

演示组件通过@Input()接收数据,并通过@Output()传达事件,但通常不会保留自己的内部状态.所有决策都会委托给“容器”或“智能”组件.

希望这是有帮助的

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读