Is this ok?
Is this expected?
Yes, this is expected (if you are using react-redux).
Is this an anti-pattern?
A: No, this is not an anti-pattern.
It’s called “connecting” your component or “making it smart”. It’s by design.
It allows you to decouple your component from your state an additional time which increases the modularity of your code. It also allows you to simplify your component state as a subset of your application state which, in fact, helps you comply with the Redux pattern.
Think about it this way: a store is supposed to contain the entire state of your application.
For large applications, this could contain dozens of properties nested many layers deep.
You don’t want to haul all that around on each call (expensive).
mapStateToProps or some analog thereof, you would be tempted to carve up your state another way to improve performance/simplify.