Autor:
    Criação:2025-02-07Última atualização:2025-06-29

    Conteúdo Condicional / Condição no Intlayer

    Como a Condição Funciona

    No Intlayer, o conteúdo condicional é alcançado através da função cond, que mapeia condições específicas (tipicamente valores booleanos) para o conteúdo correspondente. Essa abordagem permite selecionar dinamicamente o conteúdo com base em uma condição fornecida. Quando integrado com React Intlayer ou Next Intlayer, o conteúdo apropriado é automaticamente escolhido de acordo com a condição fornecida em tempo de execução.

    Configurando Conteúdo Condicional

    Para configurar conteúdo condicional no seu projeto Intlayer, crie um módulo de conteúdo que inclua suas definições condicionais. Abaixo estão exemplos em vários formatos.

    **/*.content.ts
    import { cond, type Dictionary } from "intlayer";
    
    const myConditionalContent = {
      key: "my_key",
      content: {
        myCondition: cond({
          true: "meu conteúdo quando é verdadeiro",
          false: "meu conteúdo quando é falso",
          fallback: "meu conteúdo quando a condição falha", // Opcional
        }),
      },
    } satisfies Dictionary;
    
    export default myConditionalContent;
    Se nenhum fallback for declarado, a última chave declarada será tomada como fallback se a condição não for validada.

    Usando Conteúdo Condicional com React Intlayer

    To utilize conditional content within a React component, import and use the useIntlayer hook from the react-intlayer package. This hook fetches the content for the specified key and allows you to pass in a condition to select the appropriate output.

    **/*.tsx
    import type { FC } from "react";
    import { useIntlayer } from "react-intlayer";
    
    const ConditionalComponent: FC = () => {
    const { myCondition } = useIntlayer("my_key");
    
    return (
      <div>
        <p>
          {
            /* Output: my content when it's true */
            myCondition(true)
          }
        </p>
        <p>
          {
            /* Output: my content when it's false */
            myCondition(false)
          }
        </p>
        <p>
          {
            /* Output: my content when the condition fails */
            myCondition("")
          }
        </p>
        <p>
          {
            /* Output: my content when the condition fails */
            myCondition(undefined)
          }
        </p>
      </div>
    );
    };
    
    export default ConditionalComponent;

    Recursos Adicionais

    Para informações mais detalhadas sobre configuração e uso, consulte os seguintes recursos:

    Esses recursos oferecem mais insights sobre a configuração e uso do Intlayer em diversos ambientes e frameworks.