7
respostas

Possível solução para problema Property 'children' does not exist on type 'Readonly<{}>'.ts(2339)

Pesquisando na internet este problema, encontrei a solução em um post do Stackoverflow. A partir do React 18, ele recomenda o uso do tipo da prop children como React.ReactNode. https://stackoverflow.com/questions/59106742/typescript-error-property-children-does-not-exist-on-type-reactnode

https://solverfox.dev/writing/no-implicit-children/

Para mais detalhes de como funciona a solução, recomendo ler o post do link.

Meu código do componente (Botão) ficou desta maneira, a seguir:

import React from 'react';
import style from "./Button.module.scss"

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

export default Button;
7 respostas

Deu certo pra mim. Vlw!

Pra mim também!!

Muito bom, funcionou para mim.

Seria legal mencionar esta correção no curso.

Sim, pra mim também estava dando erro. Aí fiz isso aí e deu certo. Obrigado. E sim, realmente, seria legal mencionar esta correção no curso. Fiquei muito tempo quebrando a cabeça antes de abrir o forum aqui.

Bela solução. Ajudou demais!!

é, deu certo pra mim tbm.

gostaria de entender o que foi feito.

No meu caso acabei criando um campo texto dentro do Props.

E ainda fiquei feliz em saber que o erro não foi falta de atenção e sim era um bug mesmo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software