Peformance in React
- lifecycle of reactive effects: https://beta.reactjs.org/learn/lifecycle-of-reactive-effects
 - if has many rerenders -> this is certainly because effect or state hooks are being used incorrectly or unnecessarily
 - use react context fast : https://www.youtube.com/watch?v=ZKlXqrcBx88&t=656s&ab_channel=JackHerrington
 - use memoization with react memo : https://beta.reactjs.org/apis/react/useMemo
 - use react ref : https://beta.reactjs.org/apis/react/useRef / https://beta.reactjs.org/learn/manipulating-the-dom-with-refs
 - share state between components : https://beta.reactjs.org/learn/sharing-state-between-components
 - passing Data Deeply with Context: https://beta.reactjs.org/learn/passing-data-deeply-with-context
 - use less ifs to conditional rendering: https://beta.reactjs.org/learn#conditional-rendering
 
the principal: https://reactjs.org/docs/hooks-rules.html
questions: