Boa tarde,
tentei criar os function component usando uma const declarada com a primeira letra minúscula (tableHead ao invés de TableHead). A compilação não dá erro, não mostra nada no console, mas os componentes não aparecem na tela.
Se eu tentar declarar a classe com a primeira letra minúscula (tabela ao invés de Tabela), a tela fica em branco e o console acusa:
Warning: The tag <tabela> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.
in tabela (at App.js:32)
in div (at App.js:31)
in App (at src/index.js:7)
Na aula de JS Avançado I, o mestre Flávio recomenda o uso em maiúscula como convenção do curso, mas diz que o uso é atípico (primeiro minuto do vídeo): https://cursos.alura.com.br/course/javascript-es6-orientacao-a-objetos-parte-1/task/16498. E se eu criar uma classe no ES6 com a letra minúscula, o script aceita sem dar erro.
Enfim, usar a primeira letra em maiúscula, é só uma questão do React e uma preferência do Flávio, ou uma convenção da programação orientada a objetos?