DESIGN PATTERNS: Design patterns are effective solutions common application development challenges.
LAYOUT COMPONENTS: Components that deal primarily with arranging other components on the page.
CONTAINER COMPONENTS: Components that take care of loading and managing data for their child components.
UNCONTROLLED COMPONENTS: Components that keep track of their own states and release data only when an events occurs.
CONTROLLED COMPONENTS: Components that receives states through props that are passed from their parent component. They are easier to test and reuseable.
HIGHER ORDER COMPONENTS: Components that are composed of other components i.e returns other components instead of JSX.
CUSTOM HOOKS: Hooks defined to combine the functionality of one or more already existing react hooks.