Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Bug] Solução para erro no componente Botao

Erros em Cronometro e Formulario:
TS2786: 'Botao' cannot be used as a JSX component. Its return type 'void' is not a valid JSX element.
Solução do ChatGPT:
import React from "react";
import style from "./Botao.module.scss";

interface Props extends React.ButtonHTMLAttributes {
children: React.ReactNode;
}
const Botao: React.FC = ({ children, ...rest }) => {
return (
<button {...rest} className={style.botao}>{children}
...
export default Botao;
Não esqueça de fechar tag button

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas
solução!

O TS reclama porque “vê” que Botao não retorna JSX (retorna void). Isso costuma acontecer por 1) tipagem errada do componente, 2) arquivo não estar em .tsx, 3) falta dos tipos do React, ou 4) retorno/fechamento de tag incorreto.

Tenta:

import React from "react";
import style from "./Botao.module.scss";

type Props = React.ButtonHTMLAttributes<HTMLButtonElement> & {
  children?: React.ReactNode;
};

export default function Botao({
  children,
  className,
  ...rest
}: Props): React.JSX.Element {
  return (
    <button
      {...rest}
      className={[style.botao, className].filter(Boolean).join(" ")}
    >
      {children}
    </button>
  );
}

Obrigado Augusto, funcionou corretamente :)