Explorando a Arquitetura e Conceitos Fundamentais do React Fiber para Otimização de Performance

Felipe Vieira 22 de julho de 2024 🇧🇷 Português 3 min read

Explorando a Arquitetura e Conceitos Fundamentais do React Fiber para Otimização de Performance — cover

React Fiber é uma nova arquitetura introduzida pelo React para gerenciar o processo de renderização de forma mais eficiente. Ele visa melhorar o desempenho, especialmente em aplicações complexas. Aqui, vamos aprofundar nos conceitos-chave e na arquitetura do React Fiber.

Arquitetura do React Fiber

React Fiber é projetado para lidar com o processo de renderização de maneira mais eficiente e flexível. Ele substitui o mecanismo de renderização anterior, conhecido como “Stack Reconciler”, que era propenso a problemas de desempenho e vazamentos de memória. A nova arquitetura é baseada no conceito de “Work Loop”, que permite um controle maior sobre o processo de renderização.

Conceitos-chave

  1. Work Loop: Este é o conceito central do React Fiber. É um loop que executa até a conclusão, lidando com o processo de renderização passo a passo. Cada iteração do loop é chamada de “fiber”. O work loop é responsável por agendar, executar e confirmar o trabalho.
  2. Fiber: Um fiber é uma unidade de trabalho no work loop. Representa uma parte do processo de renderização, como um componente ou uma parte de um componente. Cada fiber tem um identificador único e um conjunto de propriedades que descrevem seu estado.
  3. Fiber Tree: A árvore de fibers é uma estrutura de dados que representa a hierarquia de componentes. Ela é construída durante a renderização inicial e atualizada durante renderizações subsequentes. A árvore de fibers é usada para percorrer a hierarquia de componentes de forma eficiente e identificar mudanças.
  4. Scheduler: O agendador é responsável por agendar o work loop. Ele decide quando executar o work loop e quanto tempo cada iteração deve levar. O agendador é projetado para priorizar tarefas de renderização com base em sua urgência e importância.
  5. Commit Phase: A fase de commit é a etapa final do processo de renderização. Ela é responsável por aplicar as mudanças no DOM. A fase de commit garante que o DOM seja atualizado de forma correta e eficiente.

Otimização de Desempenho

React Fiber fornece vários mecanismos para otimizar o desempenho:

Conclusão

React Fiber é uma melhoria significativa em relação ao mecanismo de renderização anterior do React. Ele fornece uma maneira mais eficiente e flexível de lidar com a renderização, o que é essencial para aplicações complexas. Ao entender os conceitos-chave e a arquitetura do React Fiber, os desenvolvedores podem otimizar suas aplicações para um melhor desempenho e experiência do usuário.

Exemplos


import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    

Contagem: {count}

); } export default Counter;

import React, { useState, useEffect } from 'react';
import axios from 'axios';

function UserList() {
  const [users, setUsers] = useState([]);
  const [loading, setLoading] = useState(true);

  useEffect(() => {
    axios.get('https://jsonplaceholder.typicode.com/users')
      .then(response => {
        setUsers(response.data);
        setLoading(false);
      })
      .catch(error => {
        console.error(error);
      });
  }, []);

  return (
    
{loading ? (

Carregando...

) : (
    {users.map(user => (
  • {user.name}
  • ))}
)}
); } export default UserList;

Esses exemplos demonstram como o React Fiber pode ser usado para criar componentes React simples e complexos de forma eficiente.