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

Para que serve o operador ? no children ?

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

Beleza, achei a solução com vocês, porem, sei que se tirar o ? ele não aceita a prop como vazia na chamada do elemento, achei que era um ternário, como é o funcionamento desse "?" Tentei fazer algo como retorno padrao, por exemplo children? 'React.ReactNode': 'Botão', porem não funciona... Então fiquei com essa dúvida do operador?

Resolvi assim oque queria, mas não entendi o uso do "?" ainda no obj

import React from "react";
import style from "./Button.module.sass";
class Button extends React.Component<{ children?: React.ReactNode }> {
    render() {
        return (
            <button className={style.botao}>
                {this.props.children ? this.props.children : "Botão"}
            </button>
        );
    }
}
export default Button;
2 respostas
solução!

Olá Pedro, o símbolo de "?" em { children?: React.ReactNode } indica que o parâmetro "children" pode ser nulo. Por isso da erro quando você deixa o campo vazio quando vc usa { children: React.ReactNode }.

Valeu Everson !!!! Tava quebrando cabeça com isso kkkkkkk, queria saber a funcionalidade, agradeço.