React makes it easy to create interactive user interfaces. React makes it easy to create simple views for each state of your application. React will automatically update the correct components whenever your data changes. Declarative views make it easier to understand and debug your code. Create encapsulated components that can manage their own state and then combine them to create complex UIs. JavaScript is used instead of templates to write component logic. This allows you to easily pass rich data through your app while keeping state out of the DOM. React doesn't make assumptions about your technology stack. This allows you to develop new features in React without having to rewrite existing code. React components implement a render() function that takes input data and returns what it should display. This example uses JSX syntax, which is a XML-like syntax. This.props allows you to access the input data passed into the component by calling render().