---
id: why-react
title: Why React?
permalink: why-react.html
next: displaying-data.html
---
React is a JavaScript library for creating user interfaces by Facebook and Instagram. Many people choose to think of React as the **V** in **[MVC](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)**.

We built React to solve one problem: **building large applications with data that changes over time**. To do this, React uses two main ideas.

## Simple

Simply express how your app should look at any given point in time, and React will automatically manage all UI updates when your underlying data changes.

## Declarative

When the data changes, React conceptually hits the "refresh" button, and knows to only update the changed parts.

## Build Composable Components

React is all about building reusable components. In fact, with React the *only* thing you do is build components. Since they're so encapsulated, components make code reuse, testing, and separation of concerns easy.

## Give It Five Minutes

React challenges a lot of conventional wisdom, and at first glance some of the ideas may seem crazy. [Give it five minutes](http://37signals.com/svn/posts/3124-give-it-five-minutes) while reading this guide; those crazy ideas have worked for building thousands of components both inside and outside of Facebook and Instagram.

## Learn More

You can learn more about our motivations behind building React in [this blog post](http://facebook.github.io/react/blog/2013/06/05/why-react.html).
