Aprenda a Exibir Tempo Relativo com date-fns no React

Aprenda a usar a biblioteca date-fns para exibir tempos relativos em React de forma simples e prática.

Exibindo Tempo Relativo com date-fns no React

No desenvolvimento de aplicações web, é comum precisar exibir tempos relativos para melhorar a experiência do usuário. Por exemplo, ao mostrar que uma postagem foi feita "há 5 minutos", isso ajuda a contextualizar melhor a informação. Neste tutorial, vamos explorar como fazer isso utilizando a biblioteca date-fns no React.

O que é date-fns?

A biblioteca date-fns é uma ferramenta JavaScript que oferece funções para manipulação de datas. Com um tamanho reduzido e uma API fácil de usar, ela se destaca entre outras bibliotecas de manipulação de datas. Vamos utilizar essa biblioteca para formatar nossas datas de maneira simples e intuitiva.

Instalando date-fns

Para começar, você precisa instalar a biblioteca date-fns em seu projeto. Você pode fazer isso através do npm ou yarn. Execute um dos seguintes comandos no terminal:

npm install date-fns

ou

yarn add date-fns

Criando um Componente para Exibir Tempo Relativo

Agora que temos a biblioteca instalada, vamos criar um componente React que irá receber uma data e exibir o tempo relativo.

import React from 'react';
import { formatDistanceToNow } from 'date-fns';

const TempoRelativo = ({ data }) => {
    const tempoRelativo = formatDistanceToNow(new Date(data), { addSuffix: true });
    return <span>{tempoRelativo}</span>;
};

export default TempoRelativo;

Neste código, utilizamos a função formatDistanceToNow para calcular a diferença entre a data atual e a data fornecida. O parâmetro { addSuffix: true } adiciona um sufixo como "há" ou "daqui a" dependendo da situação.

Usando o Componente em Sua Aplicação

Para utilizar o componente que acabamos de criar, você pode importá-lo em sua aplicação e passar uma data como prop. Veja um exemplo:

import React from 'react';
import TempoRelativo from './TempoRelativo';

const App = () => {
    const dataPostagem = '2023-10-15T12:00:00Z'; // Data em formato ISO 8601

    return (
        <div>
            <h1>Postagem Recentes</h1>
            <p>Esta postagem foi publicada <TempoRelativo data={dataPostagem} /></p>
        </div>
    );
};

export default App;

No exemplo acima, passamos uma data em formato ISO 8601 para o componente TempoRelativo. O componente, então, exibirá algo como "há 2 horas" ou "há 30 minutos" dependendo do momento em que a postagem foi feita.

Considerações Finais

Usar a biblioteca date-fns para exibir tempos relativos em aplicações React é uma maneira eficaz de melhorar a usabilidade e a experiência do usuário. Além disso, a biblioteca é leve e fácil de integrar em seus projetos.

Exemplos Práticos

Veja mais alguns exemplos de uso:

  • Exibir a data de criação de uma postagem em um blog.
  • Mostrar a última vez que um usuário esteve online.
  • Indicar quando um comentário foi feito em uma discussão.

Com isso, você está pronto para adicionar tempos relativos a suas aplicações React. Explore a biblioteca date-fns e descubra outras funcionalidades que podem ser úteis para o seu projeto!

O uso de datas e horários é fundamental em diversas aplicações web, principalmente quando se trata de interações sociais, como postagens em blogs ou comentários em fóruns. Exibir tempo relativo não só melhora a clareza da informação, mas também proporciona ao usuário uma sensação de proximidade com o conteúdo. Ao aprender a usar bibliotecas como date-fns, você se torna capaz de oferecer uma experiência mais rica e intuitiva para os usuários, destacando-se no desenvolvimento de aplicações modernas.

Algumas aplicações:

  • Exibir datas de postagens em blogs
  • Mostrar o tempo desde a última interação do usuário
  • Indicar a data de criação de eventos

Dicas para quem está começando

  • Comece sempre com datas em formato ISO para evitar confusões.
  • Teste o componente com diferentes datas para garantir que tudo funciona corretamente.
  • Explore outras funções da biblioteca date-fns para manipular datas de diferentes formas.

Contribuições de Gabriel Nogueira

Compartilhe este tutorial: Como exibir tempo relativo no React (ex:

Compartilhe este tutorial

Continue aprendendo:

Como criar um contador regressivo no React usando react-countdown?

Aprenda a criar um contador regressivo em React com a biblioteca react-countdown.

Tutorial anterior

Como integrar autenticação JWT no React usando jsonwebtoken?

Descubra como integrar autenticação JWT no React utilizando a biblioteca jsonwebtoken.

Próximo tutorial