Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

148
Visualizações
Passing interface type to object parent

Im trying to pass the interface type to a Object returning jsx components, but i dont want to explicitly specify the type for each component. how can i do this.

->>>

interface blockProps {
  children: any;
}

const block: blockProps = {
  h1: ({ children }: any) => (
    <h1 className="my-3 text-6xl font-bold md:text-8xl md:my-4">{children}</h1>
  ),
  h2: ({ children }: any) => (
    <h2 className="my-3 text-5xl font-bold md:text-7xl md:my-4">{children}</h2>
  ),
  h3: ({ children }: any) => (
    <h3 className="my-3 text-4xl font-bold md:text-6xl md:my-4">{children}</h3>
  ),
  h4: ({ children }: any) => (
    <h4 className="my-3 text-3xl font-bold md:text-5xl md:my-4">{children}</h4>
  ),
  blockquote: ({ children }: any) => (
    <blockquote className="relative p-4 my-8 text-xl italic border-l-4 bg-neutral-100 text-neutral-600 border-neutral-500">
      <p>{children}</p>
    </blockquote>
  ),
};
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

You can define your types like this:

type possibleTags = 'h1' | 'h2' | 'h3' | 'h4' | 'blockquote';

interface blockProps {
  children: any;
}

type blockMap = {
  [key in possibleTags]: (props: blockProps) => React.ReactElement<any, any>;
};

I had a little fun and here :): https://stackblitz.com/edit/react-ts-xj27j6?file=index.tsx

about 4 years ago · Juan Pablo Isaza Relatório

0

interface Blocks {
 [key: string]: (props: { children: ReactNode }) => JSX.Element
}

const block: Blocks = {
 // ...
}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda