Answers to the questions from Lesson 2: Rendering UI with React
A component is a reactJS object that knows how to render itself and combines a bunch of small elements together with the goal of grouping and encapsulating functionality.
Props are one of the ways to pass data to a component. More in detail, props are the properties available to use for the component.
We should use the same intuition as when designing classes in OOP languages: a component should represent an isolated idea/object in our App that groups together all the functionality required to meets the goal of the component.
As a general rule: we create components to represent ideas in of the business logic of the app and we achieve it’s goal by combining smaller elements through composition.