5
respostas

Props.Chindren não esta funcionando

Desde algumas atividades anteriores o this.props.children não estava funcionando, a achei uma alternativa para funcionar na internet. colocando após o React.Componentes

class Botao extends React.Component **<any> {**
  render() {
     return (
       <button className={style.botao}>
           {this.props.children}
         </button>
        )
     }
    }

    export default Botao; 

Após essa aula inserindo o código da aula, junto com o do video, ele diz que desconhece o children Insira aqui a descrição dessa imagem para ajudar na acessibilidade

import React from 'react'; 
import style from './botao.module.scss'


class Botao extends React.Component <{ 
  type?: "button" | "submit" | "reset" | undefined
}> {
  render() {
    const { type = "button" } = this.props;
     return (
       <button type={type} className={style.botao}>
           {this.props.children}
         </button>
        )
     }
    }

    export default Botao; 
5 respostas

Analisando o código como estava utilizando o "any" após o React.Component o código ficou dessa forma

class Botao extends React.Component <any,{ 
  type?: "button" | "submit" | "reset" | undefined
}> {
  render() {
    const { type = "button" } = this.props;
     return (
       <button type={type} className={style.botao}>
           {this.props.children}
         </button>
        )
     }
    }

    export default Botao; 

Também estou com a mesma dúvida, fica aqui meu comentário para voltar quando houver umm explicação sobre a funcionalidade do button apenas com a props "", e o porque do código do professor estar estranhando a props "children".

Boa noite,

Também estou com o mesmo problema.

Para mim, a proposta do Arthur funcionou. Aquele any antes do type do botão:

<any, { type?:

Continuei sem entender muito bem, já tive problema com o children na etapa anterior (acho que se vocês estão tendo agora, aqui, tiveram lá também. Mas to seguindo o baile.

A solução serviu pra mim, mas me falta entender.

Pelo que entendi lendo este artigo, o problema seria com o número de parâmetros esperados pela função. No caso seria necessário mais um. Por isso o "Any" que significa "qualquer" em inglês. Agora, Acho que estou comendo bola aqui dizendo isso mas um sênior vai poder nos ajudar melhor.

Eis o artigo citado: https://bobbyhadz.com/blog/typescript-no-overload-matches-this-call