Ionic best practices for reusable code

i have been developing my app with the programming ideology of reusing as much code as possible, with that i was creating custom components and using them initially the application behaved very well, but as the application started growing performance and behaviour started deteriorating.

I am currently optimizing the application and reading documentation, and i can’t seem to find any official information regarding do’s and don’ts, just in posts in forums and internet posts. What are the best practises for reusing code?

I read that for example a HEADER component for the whole application is a bad practise, as the application has 3 root components and ion-footer. How to reuse code here so that behaves properly with ionic?

Another example is the list & refresher component, if i want to have a component with a list that always has a specific refresher on top, this requires the ion-refresher to be enclosed near a . If the ion-content is inside of the component doesn’t it defeat the purpose of having to be a root component of a page?

TLDR: Is there any documentation of do’s and don’ts of ionic development and where can i read some limitations during development?