The Vue3 Composition API allows for better code organization in large projects. It actually just takes a little bit of more planning to reuse logic.
We've heard your feedback and have finally created an online Vue3 course for you covering the new changes of Vue3 including the Composition API.
Looking at the Composition API docs, dependency injection using provide and inject will be a lot more common in Vue 3.0, especially in building Vue3 plugins.
Lifecycle hooks in both Vue2 and Vue3 work very similarly - we still have access to the same hooks and we still want to use them for the same use cases.