1. Documentation
    2. Conceito
    3. Declaração de Conteúdo
    4. Busca de função

    Função de Busca

    Declarações de Função

    Intlayer permite que você declare funções de conteúdo em seus módulos de conteúdo, que podem ser síncronas ou assíncronas. Quando a aplicação é construída, o Intlayer executa essas funções para obter o resultado da função. O valor de retorno deve ser um objeto JSON ou um valor simples como uma string ou número.

    Aqui está um exemplo de uma função síncrona simples que busca conteúdo:

    typescript
    1import type { DeclarationContent } from "intlayer"; 2 3const functionContent = { 4 key: "function_content", 5 content: { 6 text: () => "Este é o conteúdo renderizado por uma função", 7 }, 8} satisfies DeclarationContent; 9 10export default functionContent;

    Neste exemplo, a chave text contém uma função que retorna uma string. Este conteúdo pode ser renderizado em seus componentes React usando os pacotes intérpretes do Intlayer, como react-intlayer.

    Busca de Função Assíncrona

    Além das funções síncronas, o Intlayer suporta funções assíncronas, permitindo que você busque dados de fontes externas ou simule a recuperação de dados com dados fictícios.

    Abaixo está um exemplo de uma função assíncrona que simula uma busca no servidor:

    typescript
    1import { setTimeout } from "node:timers/promises"; 2import type { DeclarationContent } from "intlayer"; 3 4const fakeFetch = async (): Promise<string> => { 5 // Aguarda 200ms para simular uma busca no servidor 6 return await setTimeout(200).then( 7 () => "Este é o conteúdo buscado do servidor" 8 ); 9}; 10 11const asyncFunctionContent = { 12 key: "async_function", 13 content: { text: fakeFetch }, 14} satisfies DeclarationContent; 15 16export default asyncFunctionContent;

    Neste caso, a função fakeFetch imita um atraso para simular o tempo de resposta do servidor. O Intlayer executa a função assíncrona e usa o resultado como o conteúdo para a chave text.

    Usando Conteúdo Baseado em Funções em Componentes React

    Para usar conteúdo baseado em funções em um componente React, você precisa importar useIntlayer de react-intlayer e chamá-lo com o ID do conteúdo para recuperar o conteúdo. Aqui está um exemplo:

    javascript
    1import { useIntlayer } from "react-intlayer"; 2 3const MyComponent = () => { 4 const functionContent = useIntlayer("function_content"); 5 const asyncFunctionContent = useIntlayer("async_function_content"); 6 7 return ( 8 <div> 9 <p>{functionContent.text}</p> 10 {/* Saída: Este é o conteúdo renderizado por uma função */} 11 <p>{asyncFunctionContent.text}</p> 12 {/* Saída: Este é o conteúdo buscado do servidor */} 13 </div> 14 ); 15}; 16 17export default MyComponent;

    Se você tiver uma ideia para melhorar esta documentação, sinta-se à vontade para contribuir enviando uma pull request no GitHub.

    Link do GitHub para a documentação

    Nesta página