Top Qs
Linha do tempo
Chat
Contexto
React (JavaScript)
Biblioteca de JavaScript Da Wikipédia, a enciclopédia livre
Remove ads
O React (também denominado React.js ou ReactJS) é uma biblioteca front-end JavaScript de código aberto com foco em criar interfaces de usuário em páginas web, criado em 2011 pelo Facebook, com o objetivo de otimizar a atualização e a sincronização de atividades simultâneas no feed de notícias da rede social e melhorar a manutenção de código, com a criação de views declarativas e componentes.
Remove ads
É mantido pelo Facebook, Instagram, outras empresas e uma comunidade de desenvolvedores individuais. É utilizado nos sites da Netflix, Imgur, Feedly, Airbnb, SeatGeek, HelloSign, Walmart e, outros.[4]
Em 2015, o Facebook anunciou o módulo React Native, que em conjunto com o React, possibilita o desenvolvimento de aplicativos para Android e iOS utilizando componentes de interface de usuário nativos de ambas plataformas, sem precisar usar o HTML.[5]
Na pesquisa de 2018 sobre hábitos de desenvolvedores do site Stack Overflow, o React foi a terceira biblioteca ou framework mais citado pelos usuários e desenvolvedores profissionais, ficando atrás somente do Node.js e Angular, respectivamente.[6]
Remove ads
O JSX (JavaScript XML) é uma extensão de sintaxe para JavaScript que escrever a interface do usuário de forma semelhante ao HTML.[7] Embora seu uso não seja obrigatório, a maioria dos desenvolvedores usa para descrever como a UI deveria parecer. Essa abordagem facilita a criação dos componentes da interface do usuário no React, pois os componentes são definidos de forma declarativa deixando o código legível e intuitivo.[7] Exemplo:
const name = 'Josh Perez';
const element = <h1>Hello, {name}</h1>;
ReactDOM.render(
element,
document.getElementById('root')
);
Depois da compilação usando o Babel, as expressões em JSX são transformadas em chamadas normais de funções que retornam objetos JavaScript.[7] O JSX pode ser usado fora do React, se configurar uma transformação personalizada do JSX via Babel.
Remove ads
É uma representação virtual da interface do usuário que é armazenada em memória e mantida em sincronia com a DOM “real”. Dessa forma, o React só altera na verdadeiro DOM apenas o que foi modificado. Assim, é abstraída a manipulação de atributos, de eventos e atualização manual do DOM.
A Virtual DOM está associada aos elementos da biblioteca, que são objetos representando a UI. Entretanto, o React também possui os “fibers”, que são objetos internos que contém informações sobre a árvore de componentes e podem ser considerados parte da Virtual DOM.[8]
Remove ads
Reconciliação é o processo pelo qual o React atualiza o DOM do navegador. A cada renderização o React retorna uma árvore de elementos diferentes. Nesse sentido, é necessário descobrir como a interface deve ser atualizada para estar em sincronia com a última árvore apresentada. Os conceitos por trás deste algoritmo são a Virtual DOM e o algoritmo de diffing.[9]
Em toda atualização, é criado uma nova Virtual DOM e compara com a sua versão anterior. Essa comparação ocorre pelo algoritmo de diffing. Após a comparação ser realizada, uma outra Virtual DOM é produzida já com as alterações adicionadas. Por fim, o React faz a atualização da DOM “real” no navegador com o menor número de atualizações possíveis.[9]
Ver também
- Angular (framework)
- SolidJS
- Svelte
- Vue.js
Referências
- JSConf (5 de agosto de 2013). «[JSConfUS 2013] Tom Occhino and Jordan Walke: JS Apps at Facebook». Youtube (em inglês). Consultado em 4 de julho de 2022
- «Release 19.0.0». Github (em inglês)
- «react/LICENSE at master». Github (em inglês). Consultado em 22 de maio de 2021
- «JavaScript's History and How it Led To ReactJS». thenewstack.io (em inglês). Consultado em 19 de fevereiro de 2017
- «React Native: Bringing modern web techniques to mobile - Facebook Code». Facebook Code (em inglês). 26 de março de 2015
- «Developer Survey 2018». Stack Overflow. 2018. Consultado em 4 de julho de 2022
- «Writing Markup with JSX – React». react.dev (em inglês). Consultado em 23 de maio de 2025
- «React: The Virtual DOM». Codecademy (em inglês). Consultado em 29 de setembro de 2022
- «React calls Components and Hooks – React». react.dev (em inglês). Consultado em 23 de maio de 2025
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads