2017-04-12 35 views
1

我在写信询问@ngrx良好实践(我猜)。几个月前我发现了Flux和Redux,但我最近在实践中一直在使用@ngrx。我必须承认这是一个非常广泛而有趣的话题。ngrx/example-app中的容器和组件


解释:

对于我使用了一些教程和官方例如,应用程序库的第一步(可以在这里找到 - >ngrx/example-app)。 我对使用@ngrx如何显示和干净的代码印象深刻。我使用基于ngrx/example-app的@ngrx创建了自己的应用程序,但我有一个重要问题:

在example-app中,您可以找到两种组件。先在src/containers第二个在src/components目录下。 我知道使用存储的容器,但数据传递给组件的是@ Input的。


问: ,这是什么结构(上应用效果)的原因是什么?所有应用程序组件都可以使用应用商店

+2

https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0 – cartant

回答

1

组件(又名表象)应该不知道应用程序上下文的,他们应该是相当“通用”。 这就是为什么他们不应该使用NGRX商店,并保留loosely coupled与应用程序的其余部分,并只通过@Input和@Output与他们的父母沟通。 它允许它们在应用程序的不同部分重用,出于不同的目的,甚至在其他应用程序中。

如果组件不能没有访问NGRX店工作,它应该是智能容器,知道它是用来与它互动的背景下。