I'm building an Angular 2 ngrx/store application and trying to understand best practices.
I totally agree with you and I have the same doubt.
I expect the component to emit an action using the dispatcher (which for
ngrx/store is the store itself) instead of moving this logic to the container (the actual application).
This way the component is decoupled from the container and the container doesn't need to know about actions: it will just listen to the state change and pass down the eventual data, if necessary.
On the other hand, the Introduction to ngrx/store is promoting the design with a smarter container, which knows a lot about the underlying components.
Frankly, I can't yet see a clear winner: I just think that dispatching actions from the component is simpler, cleaner, and closer to the Elm Architecture which was one of the Redux's inspirations.