1
resposta

componente Botao só funciona com as props <any, any> mas não com <{type?: ....... >

Com ' type?: "button" | "submit" | "reset" | undefined' a props 'this.props.children' não funciona. Já tentei incluir "children" na tipagem mas também sem sucesso. Alguém sabe como manter o <any, any> e a tipagem do componente Botao?

Desde já, grato!

1 resposta

Olá, como em nosso componente Botao esperamos apenas valores do tipo string no children coloquei o type dele como string, e juntei o "children" e "type" em um Type Aliases.

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

type Props ={//coloquei o nome de Props mas poderia ser qualquer nome
  children: string,
  type?: "button" | "submit" | "reset" | undefined
}

class Botao extends React.Component<Props> {
  render(): React.ReactNode {
    return <button type={this.props.type} className={style.botao}>{this.props.children}</button>;
  }
}

export default Botao;