as possible • DRY / Try to make you components reusable • Avoid too much logic within components • Use helper functions everytime, everywhere • ALWAYS use propTypes or similar (if using TS/Flow) • Try hooks, they tend to make your code smaller and less complex • Try to avoid using getDerivedStateFromProps • Use conditional assignment to avoid mutations • Split responsibilities • Migrate your deprecated lifecycle methods • Do not overload your useEffect / componentDidMount methods