- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用智能/转储组件构建我的 Redux (NgRx) 应用程序,但我正在努力决定这些dumb组件应该有多“哑”......
例如,我有一个智能组件(posts
),它有一个dumb组件(post-list
>),其中包含dumb组件 (post
)。到这里为止,一切看起来都不错。
要显示一些按钮,我需要知道用户是否是 admin
,并且我需要从 posts 一直向下传递属性
到 admin
post
。
我可以将dumb组件 post
连接到商店并直接从dumb组件获取它吗?还是这种情况下的组件不再愚蠢?它看起来像这样:
private admin$: Observable<boolean>;
constructor(private store: Store<AppState>){
this.admin$ = this.store.let(isAdmin());
}
我认为这会节省很多冗余。这是好事还是坏事?
最佳答案
dumb组件应该是没有任何逻辑的表现组件。
根据 Redux 作者 Dan Abramov 的说法,dumb组件符合以下条件:
Angular
它们应该只通过输入和输出流显示信息和处理事件。
所以我的建议是在 smart and dumb 上检查 ngrx 示例应用程序:https://github.com/ngrx/example-app
您还可以看到我是如何在游戏中实现聪明和愚蠢的。 https://github.com/wizardnet972/tic-tac-toe
注意:容器组件也是可重用的。组件是表示组件还是容器组件是实现细节。
展示组件通过@Input() 接收数据并通过@Output() 传递事件,但通常不维护自己的内部状态。在数据更新回流之前,所有决策都委托(delegate)给“容器”或“智能”组件。
希望对您有所帮助。
关于angular - "dumb"应该是dumb组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38578307/
我正在使用智能/转储组件构建我的 Redux (NgRx) 应用程序,但我正在努力决定这些dumb组件应该有多“哑”...... 例如,我有一个智能组件(posts),它有一个dumb组件(post-
有什么方法可以像Vim中的ctrl + p一样在Eclipse中获得“哑”字补全吗? 例如,我经常写一个函数调用: x = getMeAnXPlease(); 然后输入定义: function get
人们可能会认为将 3 个字符的缩写转换为数字表示形式是一项简单的任务。 JavaScript 说“不!”。 $(selector).each(function() { // convert m
如果您需要生成从 1 到 N 的素数,“愚蠢”的方法是遍历从 2 到 N 的所有数字,并检查这些数字是否可以被目前找到的任何素数整除,即小于相关数字的平方根。 在我看来,Eratosthenes 筛法
我创建了一个标准结构的“智能变体”——系统提供了struct canmsg,这种类型的数据是从can设备中读取的,我经常处理这样的帧。 现在,为了更容易处理它们,我创建了一个子类:class TCan
我希望在 golang 中实现远程客户端它通过 nc 连接到 Linux 并启动 bash。所以我需要告诉 bash 我可以从它发送给我的 stdout 中解析哪些功能,以及我将如何将键码和其他内容发
我有一个包含 300,000 个单词及其出现频率的列表的文本文件。每行的格式为 Word:FequencyOfOccurence。我希望可以从 C# 代码中访问此信息。我无法对列表进行硬编码,因为它太
我必须解决 gettext 识别 ES6 模板字符串的限制,并且我考虑将模板字符串的“非内插值”作为编译步骤,以便只有代码中的“正常”字符串。 基本上我想实现的是改变这个 const adjectiv
看看这个简单的示例,其中 prop toggleData 将是映射到容器 props 的 redux thunk 操作。 这是将这样的函数传递给子“哑”组件的推荐方法吗?我在网上读到一篇文章说,从性能
好吧,我不是在谈论业务逻辑决策,而是 UI 决策。 例如,我正在渲染一个表格,其中一列显示日期时间?需要格式化的属性。因为该值可以为空,所以我需要在格式化之前检查它是否不为空。 如果我想迂腐一些,我会
有谁知道在 Google App Engine 中返回包装的 Model 实例的巧妙方法,该实例仅公开一些原始属性,并且不允许将实例保存回数据存储区? 我不是在寻找实际执行这些规则的方法,显然仍然可以
我已经设法了解了 C++ 的一些功能(for_each、映射函数、使用迭代器...),但是用于接收通用容器和迭代器的模板和函数参数列表的构造仍然让我难以理解。我有一个实际的例子,希望有人能为我说明:
当然,我想不出有什么理由让我想要覆盖一元&运算符,但在https://stackoverflow.com/a/4542813/368896中张贴者指出,关于某些类 X: ...unless X doe
文章中Better web typography in a few simple steps , 它说 Talking about apostrophes, the correct sign for
我希望这个问题不要被标记为主要是基于意见的,而是有一个客观的答案。 我已阅读 Introducing dumb-init, an init system for Docker containers ,
愚蠢的引用是那些直接出现的引用。智能引号 curl 并且它们 curl 在正确的方向。我认为规则如下: 如果引用位于单词开头,则会向右 curl 。 如果引号位于单词开头,后面跟着另一个引号或分组符号
所以我正在研究一种“中级”级别的 react 项目。我了解基础知识,但不知道某些事情的最佳实践。 让我们假设我正在将一个函数传递给一个“哑”组件,在这个dumb组件中有一个按钮,它是对父函数 Edit
我正在尝试从工作本地服务器导出一个相当复杂的 mySQL 数据库,上传到在线服务器,以便协作者只读其中的数据。 数据库有多个外键,每个表都有一个主键。然而,由于不会将任何数据添加到这个愚蠢的“影子”副
struct A { A(int a); }; struct B { B(); void b(std::shared_ptr a); }; int main() { A
我问的原因是我们想使用 MySQL 当前不支持的特定 CHECK 约束。如果没有这种类型的约束,使用外键和参照完整性的全部原因似乎会随着应用程序代码承担更多数据库的责任而减少。 如果我们要创建一个“哑
我是一名优秀的程序员,十分优秀!