Another example: React.memo does not replace shouldComponentUpdate, nor is it more idiomatic. React.memo is for /function components/, while shouldComponentUpdate is for class components [2].
Another example: the community wanted a more flexible way of using function components with state, and a way to decouple unrelated state: enter hooks. They're not necessarily more idiomatic, but instead provide an alternate way of structuring components and application logic that fits more use-cases.
New context is the same as old context. Hooks just enable another way of interacting with context.
[1] https://medium.com/@dan_abramov/mixins-are-dead-long-live-hi...
[2] https://reactjs.org/blog/2018/10/23/react-v-16-6.html#reactm...