O que é o React JS - Noções Introdutórias: renderização, componentes, reconciliação, JSX e mais.
TL;DR
-
É uma biblioteca JavaScript de código aberto para criar interfaces de usuário (UI) interativas e reativas.
-
O React JS usa uma abordagem de renderização do lado do cliente, permitindo que o código JavaScript seja executado no navegador do usuário final.
-
Os componentes são a base do React e são blocos de construção reutilizáveis da interface do usuário.
-
Usa o conceito de "reconciliação" para atualizar a interface do usuário em resposta às alterações de estado.
-
O JSX é uma extensão da sintaxe JavaScript usada para escrever HTML no JavaScript, tornando a criação de interfaces de usuário mais fácil e intuitiva.
-
O React suporta a criação de componentes com estado e sem estado.
-
O React é frequentemente usado com outras bibliotecas e estruturas de código aberto, como o Redux, o React Router e o Next.js.
O React JS é uma biblioteca JavaScript de código aberto criada pelo Facebook para criar interfaces de usuário (UI) interativas e reativas em aplicativos da web que são escaláveis, rápidos e fáceis de manter. Ele usa uma abordagem de programação baseada em componentes para construir interfaces de usuário.
O React trabalha com uma abordagem de renderização do lado do cliente, o que significa que o código JavaScript é executado no navegador do usuário final, permitindo a criação de interfaces de usuário altamente interativas sem exigir muitas solicitações de servidor.
Como já dito, os componentes são a base do React. Um componente nada mais é do que um bloco de construção de uma interface de usuário que pode ser reutilizado várias vezes dentro do mesmo aplicativo ou até mesmo em outros projetos. Cada componente é responsável por uma parte específica da interface do usuário e pode ser criado usando classes ou funções.
É importante destacar que o React usa o conceito de "reconciliação", que é a maneira como o React atualiza a interface do usuário em resposta às alterações de estado.
Indo mais a fundo neste conceito, pode-se afirmnar que a reconciliação é o processo que o React usa para comparar a representação atual da interface do usuário com a nova representação que foi gerada após uma determinada atualização de estado ter sido feita (como, por exemplo, após a interação do usuário com uma parte do app). Durante esse processo, o React compara os elementos da interface do usuário e suas propriedades, bem como a hierarquia dos elementos, para determinar quais mudanças precisam ser feitas na interface do usuário.
O mais incrível é que o React faz essa comparação de forma muito eficiente, minimizando o número de mudanças necessárias para atualizar a interface do usuário. Para tanto, utiliza um algoritmo de comparação inteligente que determina quais partes da interface do usuário precisam ser atualizadas e quais partes não precisam. Esse processo de reconciliação é chamado de "diffing" e é feito de forma assíncrona, em um processo chamado de "batching".
Vale dizer ainda que o React usa o JSX, uma extensão da sintaxe JavaScript que permite escrever HTML no JavaScript, o que permite ao desenvolvedor criar seus componentes de forma fácil e intuitiva, pois muito próxima da forma como sempre fez, pois o JSX é muito similar ao HTML, inclusive com uso de tags e palavras reservadas muito próximas. Obs: O JSX é compilado para JavaScript puro antes de ser executado no navegador.
O React também suporta a criação de componentes com estado e sem estado. Os componentes com estado têm um estado interno que pode ser atualizado em resposta a ações do usuário ou a alterações em dados externos (aplicando-se neste caso tudo que já foi dito sobre "reconciliação"). Os componentes sem estado não possuem estado interno e são usados principalmente para renderizar conteúdo estático.
O React é frequentemente usado com outras bibliotecas e estruturas de código aberto, como o Redux para gerenciamento de estado, o React Router para roteamento de página e o Next.js para renderização do lado do servidor.
Em resumo, o React JS é uma biblioteca JavaScript de código aberto que usa uma abordagem de programação baseada em componentes para criar interfaces de usuário interativas e reativas. Ele trabalha com uma abordagem de renderização do lado do cliente e usa o JSX para tornar a criação de interfaces de usuário mais fácil e intuitiva. O React é amplamente utilizado na criação de aplicativos da web modernos e escaláveis.