"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Armazenando dados em cache no React: aumentando o desempenho e a experiência do usuário

Armazenando dados em cache no React: aumentando o desempenho e a experiência do usuário

Publicado em 2024-11-18
Navegar:122

Caching Data in React: Boosting Performance and User Experience

O armazenamento em cache de dados no React pode melhorar significativamente o desempenho e a experiência do usuário, reduzindo a necessidade de buscar os mesmos dados várias vezes. Aqui estão várias abordagens para implementar o cache de dados no React:

1. Usando bibliotecas de gerenciamento de estado

  • Redux: Use Redux para armazenar seus dados em um armazenamento centralizado. Você pode armazenar em cache as respostas da API no estado Redux e buscar dados apenas se ainda não estiverem disponíveis.
  • React Query: Esta biblioteca fornece mecanismos de cache integrados para o estado do servidor. Ele armazena em cache automaticamente as respostas da API e as busca novamente conforme necessário.
  • Recoil: Semelhante ao Redux, o Recoil permite gerenciar o estado global e você pode implementar estratégias de cache com seletores.

2. Armazenamento local ou armazenamento de sessão

Você pode armazenar dados em cache no armazenamento local ou no armazenamento de sessão do navegador:

const fetchData = async () => {
    const cachedData = localStorage.getItem('myData');
    if (cachedData) {
        return JSON.parse(cachedData);
    }

    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    localStorage.setItem('myData', JSON.stringify(data));
    return data;
};

// Use it in your component
useEffect(() => {
    const loadData = async () => {
        const data = await fetchData();
        setData(data);
    };
    loadData();
}, []);

3. Lógica de cache personalizada

Você pode implementar seu próprio mecanismo de cache usando um objeto JavaScript para armazenar dados com base em chaves exclusivas:

const cache = {};

const fetchData = async (key) => {
    if (cache[key]) {
        return cache[key];
    }

    const response = await fetch(`https://api.example.com/data/${key}`);
    const data = await response.json();
    cache[key] = data; // Cache the data
    return data;
};

// Use it in your component
useEffect(() => {
    const loadData = async () => {
        const data = await fetchData('myKey');
        setData(data);
    };
    loadData();
}, []);

4. Trabalhadores de serviços

Para armazenamento em cache mais avançado, você pode usar service workers para armazenar em cache as respostas da API e servi-las diretamente do cache.

5. Memoização com useMemo ou useCallback

Se você estiver lidando com dados computados derivados de dados obtidos, use useMemo para memorizar valores:

const memoizedValue = useMemo(() => computeExpensiveValue(data), [data]);

Conclusão

Escolha a estratégia de cache que melhor atende às necessidades do seu aplicativo, considerando fatores como atualização dos dados, complexidade e experiência do usuário. Bibliotecas como React Query podem simplificar o armazenamento em cache e a busca de dados, enquanto os métodos manuais oferecem mais controle.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/imyusufakhtar/caching-data-in-react-boosting-performance-and-user- Experience-4olm?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3