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
Para reportar algum problema ou sugerir alterações, use nosso formulário de melhorias ou, se preferir, abra uma issue no nosso Github.