--- title: React - Components localeTitle: React - Componentes --- ## React - Componentes Componentes são como funções JavaScript. Eles aceitam inputs (conhecido como `props`) e retornam elementos React descrevendo o que deve aparecer na tela. Veja o exemplo abaixo: ```jsx function Welcome(props) { return

Hello, {props.name}

; } const element = ; ReactDOM.render( element, document.getElementById('root') ); ``` No exemplo acima, vemos que um valor é passado para a propriedade `name="Faisal Arkan"` o valor de `name` estará disponível em `{props.name}` dentro da função `Welcome`, depois disso é renderizado o elemento em html. ### Outras formas de declarar componentes Há muitas maneiras de declarar componentes em React, mas há dois tipos de componentes, componentes **_sem_** **_estado_** e componentes **_com estado_** . ### Com estado #### Componentes do tipo de classe ```jsx class Cat extends React.Component { constructor(props) { super(props); this.state = { humor: 'happy' } } render() { return(

{this.props.name}

{this.props.color}

); } } ``` ### Componentes sem estado #### Componentes funcionais (Arrow function do ES6) ```jsx const Cat = props => { return (

{props.name}

{props.color}

; ); }; ``` #### Componentes de retorno implícito ```jsx const Cat = props =>

{props.name}

{props.color}

; ```