State-based hooks make your components impure out of the box, the same way class components did. Good design with hooks in the future will likely still be to to separate your state-managing container logic from your pure, view components.
You are not required to use hooks today any more than you were required to use classes in the past. You may prefer the withGlobal
HOC:
import { withGlobal } from 'reactn';const MyComponent = ({ name }) => {
return <div>My name is {name}.</div>;
};const mapStateToProps = global => ({
name: global.name
});export default withGlobal(myStateToProps)(MyComponent);
This article is specifically about React Hooks, but ReactN offers many implementations for different use cases.