Front
Active users
2
All-time users
2
Favorites
0
Last updated
4 years ago
Date created
Jul 9, 2020
Base
(4 cards)
React is an open-source frontend JavaScript library which is used for building user interfaces especially for single page applications
The major features of React are:
JSX is a XML-like syntax extension to ECMAScript (the acronym stands for JavaScript XML). Basically it just provides syntactic sugar for the React.createElement()
function, giving us expressiveness of JavaScript along with HTML like template syntax.
In the example below text inside <h1>
tag is returned as JavaScript function to the render function.
class App extends React.Component {
render() {
return(<div>
<h1>{'Welcome to React world!'}</h1>
</div>)
}
}
An Element is a plain object describing what you want to appear on the screen in terms of the DOM nodes or other components. Elements can contain other Elements in their props. Creating a React element is cheap. Once an element is created, it is never mutated.
The object representation of React Element would be as follows:
const element = React.createElement(
'div',
{id: 'login-btn'},
'Login'
)
The above React.createElement()
function returns an object:
{
type: 'div',
props: {
children: 'Login',
id: 'login-btn'
}
}
And finally it renders to the DOM using ReactDOM.render()
:
<div id='login-btn'>Login</div>
Whereas a component can be declared in several different ways. It can be a class with a render()
method. Alternatively, in simple cases, it can be defined as a function. In either case, it takes props as an input, and returns a JSX tree as the output:
const Button = ({ onLogin }) =>
<div id={'login-btn'} onClick={onLogin}>Login</div>
Then JSX gets transpiled to a React.createElement()
function tree:
const Button = ({ onLogin }) => React.createElement(
'div',
{ id: 'login-btn', onClick: onLogin },
'Login'
)