2017-04-12 61 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店工作,它應該是智能容器,知道它是用來與它互動的背景下。