- Build the UI out of small, modular React components as much as possible.
- Build two types of components: "customizable" ones that only compose others using JSX and contain little-or-no HTML nor logic, as well as "internal" components that contain logic and detailed HTML and CSS, etc.
- In customizable components, include placeholders like
{this.extraContent}
in the render() method so that subclasses don't have to override render().
Bad example: