Components: React allows developers to build UI using self-contained and reusable components. Each component can have its own state and props (properties) and can be nested within other components.
Virtual DOM: React uses a virtual DOM that optimizes the process of updating the UI. When the state of a component changes, React will only update the specific parts of the actual DOM that have changed, rather than re-rendering the entire UI.
State and Props: State refers to the internal data of a component, while props are the external data that a component receives from its parent. React allows developers to easily manage and update the state and props of their components using setState() and componentWillReceiveProps() methods.
Event handling: React provides a way to handle events, such as clicks, on the component. It uses a syntax similar to HTML event handling but instead of using the HTML event attribute it uses the React event system.
Life Cycle Methods: React Components have lifecycle methods, that are called at different points of the component's existence. It allows developers to run certain code at specific points in the component's lifecycle, such as when it mounts or updates.