ReactJS Flashcards
O que é JSX?
Extensão de sintaxe para JavaScript. JSX pode lembrar uma linguagem de template, mas que vem com todo o poder do JavaScript. JSX produz “elementos” do React. Depois da compilação, as expressões em JSX se transformam em chamadas normais de funções que retornam objetos JavaScript.
O que é ReactDOM?
???
Markup em JS
https://www.youtube.com/watch?v=x7cQ3mrcKaY
O que é um “Componente React”?
Unidade que contém lógica e markup juntos. Conceitualmente, componentes são como funções JavaScript. Eles aceitam entradas arbitrárias (chamadas “props”) e retornam elementos React que descrevem o que deve aparecer na tela.
O que seria um componente React válido?
Algo que aceita um único argumento de objeto “props” com dados e retorna um elemento React. // Componentes React podem estar na forma de função ou de classe EC6.
O que é o objeto “props”?
É o conjunto de informações passadas como argumento para montar um elemento React. Quando o React vê um elemento representando um componente definido pelo usuário, ele passa atributos JSX e componentes filhos para esse componente como um único objeto. Nós chamamos esse objeto de “props”.
Referência detalhada da API de componente
https://pt-br.reactjs.org/docs/react-component.html
Qual é a convenção para nomes de componentes?
O React trata componentes começando com letras minúsculas como tags do DOM. Por exemplo, <div></div> representa uma tag div do HTML, mas representa um componente e requer que Welcome esteja no escopo.
Convenção para nomear componentes
https://pt-br.reactjs.org/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized
JSX é obrigatório para trabalhar com React
Não
Como podemos insrir expressoes JavaScript dentro de um JSX? = Colocando entre chaves(“{}”). Todas as expressões JavaScript são válidas.
Inserção automática de ponto-e-vírgula
https://stackoverflow.com/q/2846283
Qual é a convenção para nomes de propriedades usada no JMX ao invés dos nomes de atributos do HTML?
camelCase. Por exemplo, class se transforma em className em JSX, e tabindex se transforma em tabIndex.
É seguro incorporar entradas de usuário em JSX?
Por padrão, o React DOM escapa quaisquer valores incorporados no JSX antes de renderizá-los. Assim, assegura que você nunca injete algo que não esteja explicitamente escrito na sua aplicação. Tudo é convertido para string antes de ser renderizado. Isso ajuda a prevenir ataques XSS (cross-site-scripting).
XSS (cross-site-scripting)
https://pt.wikipedia.org/wiki/Cross-site_scripting
Qual é a diferença entre usar JSX e usar chamadas React.createElement()?
Nenhuma. O Babel compila JSX para chamadas React.createElement().
O que são “Elementos React”?
Objetos resultantes do React.createElement() (ou do JMX).
Definição de linguagem “Babel”
https://babeljs.io/docs/en/next/editors
Qual é a relação entre “Elementos React” e “Componentes React”?
Elementos compõem os componentes.
O que é um “nó raiz do DOM”?
é o elemento HTML que terá todo seu conteúdo gerenciado pelo “React DOM”
Posso trabalhar com mais de um “nó raiz” em um projeto React?
Aplicações construídas apenas com React geralmente tem apenas um único nó raiz no DOM. Se deseja integrar o React a uma aplicação existente, você pode ter quantos nós raiz precisar.