The key idea behind working with React is that everything – and I mean, everything – is a component. Your whole web application will be a component, itself made of other components, which will themselves have smaller components, and so on. Components generate HTML, which is shown onscreen. The data for the HTML comes from externally assigned props (properties) and internally maintained state. Whenever there is a change in props or state, React takes care of refreshing the HTML so that the view (what the user sees) is always up to date.
Let's look at an example. Imagine that you want to create a screen that will let the user query data about regions of the world. How could you go about designing it? Check out the following screenshot for details: