React é uma biblioteca que auxilia na construção de interfaces.
Comparando com um modelo MVC, React é o V, responsável apenas pela View.
E por que todo esse boom em volta dessa biblioteca?
Virtual DOM
A manipulação do DOM (operação custosa) fica nas mãos do desenvolvedor
Toda modificação dispara uma alteração no DOM
Otimiza a manipulação do DOM, alterando somente o necessário
Alterações são enviadas em lote, minimizando impacto no DOM
A sintaxe mais utilizada para a criação de componentes em React é JSX
JSX é uma extensão da sintaxe do JavaScript que lembra XML
Bem vindo ao React!
Bem vindo ao React!
const element = React.createElement(
"div",
null,
React.createElement(
"p",
null,
"Bem vindo ao React!"
)
);
Bem vindo ao React!
const element = (
Bem vindo ao React!
);
React.createElement(
element, //div, p, h1, h2, span, header, main, etc
props, //id, class, data attributes
children // elementos filhos
);
const element = React.createElement(
"div",
null,
React.createElement(
"p",
null,
"Bem vindo ao React!"
)
);
function Componente(nome) {
return (
Bem vindo {nome}!
);
}
class Componente extends React.Component {
constructor() {
this.state = { nome: ''}
}
render() {
return (
Bem vindo {this.state.nome}!
);
}
}
}
<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>React App</title>
</head>
<body>
<div id="app"></div>
</body>
</html>
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
const divApp = document.getElementById('app');
ReactDOM.render(<App />, divApp);
import React from 'react';
function App() {
return (
<div className="full-width">
<button onClick={() => alert('Oi!')}>Hello!</button>
</div>
);
}
export default App;