LinkPreview
Base
Utilize o componente LinkPreview para exibir uma prévia do conteúdo de determinada URL.
Internamente, o componente LinkPreview é renderizado como um link convencional (<a>), presumindo-se que a url fornecida aponte para um endereço externo. Por esse motivo, as propriedades target e rel recebem, por padrão, os valores "_blank" e "noreferrer", respectivamente.
Busca customizada e CORS
Utilize a propriedade fetcher para definir um mecanismo de obtenção dos dados associados à url. Essa propriedade deve ser uma função assíncrona que recebe a url como parâmetro e retorna um objeto com os seguintes atributos:
title: O título associado ao conteúdo daurldescription: A descrição associada ao conteúdo daurlimageSrc: O endereço da imagem associada ao conteúdo daurl
Esta propriedade possui um valor padrão, disponível na constante LinkPreview.fetcher, que realiza essa busca da seguinte forma:
title: Retorna o conteúdo do elemento<title>, caso não esteja presente, será retornado a própriaurldescription: Retornar o valor do atributocontentdo elemento<meta name="description">se disponívelimageSrc: Retorna o valor do atributocontentdo elemento<meta property="og:image">se disponível
Entretanto, devido às políticas de CORS (Cross-Origin Resource Sharing) aplicadas pela maioria dos navegadores, esse mecanismo só funcionará corretamente para URLs do mesmo domínio da página onde o componente estiver sendo renderizado. Para domínios externos, as informações não poderão ser acessadas e apenas o endereço da url será exibido.
Para contornar as restrições de CORS, recomenda-se implementar uma solução no servidor (como um proxy ou uma API HTTP) e, a partir dela, fornecer um fetcher customizado ao componente.
Título, descrição e imagem customizados
Utilize as propriedades title, description e imageSrc para customizar o título, a descrição e o caminho da imagem, respectivamente.
Se forem passadas, estas propriedades serão sempre utilizadas mesmo que o fetcher retorne valores para seus atributos equivalentes.
Se as três propriedades forem definidas, o fetcher não será executado e o componente será renderizado diretamente, sem carregamento ou busca prévia.
Feedback
To report a problem or suggest changes, use our improvements form or, if you prefer, open an issue on our Github repository.