From a developer's perspective an application is built out of React Components. Each component has a life cycle
for responding to rendering events and state changes. In a traditional
React.Component class style implementation you may hook into these via
overloading methods, such as
React.Component#componentDidMount which will be
function there is no state storage and may only generate output based on the parameters passed.
The React community has embraced the functional paradigm and the opinionated architectural approaches behind the framework. The community has produced a large number of libraries further enhancing the capabilities, such as Redux and ReactNative.