14 - Componentização / Props

Componentizando nosso código

Componentização no react é uma forma de simplificar estruturas da sua aplicação em pequenas parte que podem ser reautilizadas.

É basicamente dividir pedaços da nossa aplicação em pequenos componentes, imagina que você tenha um formulário ou cabeçalho que será reaproveitado na sua aplicação quantas vezes você quiser e ele é dotado de um conjunto de css, html e javascript.

Só que no React a componentização é um grande diferencial, pois ele é totalmente baseado em componentes, em tudo dentro do react é um componente.

Mão na massa

Podemos criar um arquivo Teste.js dentro da pasta src.

Dentro do arquivo Teste.js criamos nossa estrutura desejada:

import React, { Component } from 'react' export default function Teste(){ return( <div> <h1>Eu sou um componente</h1> </div> ) } export default App // No exemplo acima não teremos um retorno, já que Teste.js não está sendo chamado dentro do nosso App.js

Pra exibirmos nosso componente, basta importarmos e utilizarmos no arquivo principal App.js :

import React, { Component } from 'react' import Teste from './Teste.js' class App extends Component { render(){ return( <div> <Teste/> </div> ) } } export default App // No exemplo acima teremos o seguinte retorno: // Eu sou um componente

Props

Props são propriedades extras que andam lado a lado com a componentização, podendo enriquecer nossos componentes com propriedades extras sem precisarmos reconstruir todo o componente:

Exemplo utilizando Props:

import React, { Component } from 'react' export default function Teste( {novaProps} ){ return( <div> <h1>Eu sou um componente {novaProps}</h1> </div> ) } export default App
import React, { Component } from 'react' import Teste from './Teste.js' class App extends Component { render(){ return( <div> <Teste novaProps='Agora com props'/> </div> ) } } export default App // No exemplo acima teremos o seguinte retorno: // Eu sou um componente Agora com props