React.js is a JavaScript library for building user interfaces. It uses a component-based model where data flows down from parent to child components. The key aspects of a React app include:
- Using NPM and Webpack for dependency management and bundling JSX and ES6 code.
- Building reusable UI components that receive data via props and local state.
- Components have a lifecycle including mounting, updating and unmounting.
- JSX is used to write HTML-like code that gets transpiled to JavaScript.
- Testing components with libraries like Jest and Enzyme.