freeCodeCamp/guide/portuguese/react/functional-components-vs-cl.../index.md

69 lines
2.5 KiB
Markdown
Raw Normal View History

---
title: Functional Components vs Class Components
localeTitle: Componentes Funcionais vs Componentes de Classe
---
## Componentes Funcionais vs Componentes de Classe
Existem basicamente dois componentes no React:
* Componentes Funcionais
* Componentes de Classe
## Componentes Funcionais
* Componentes funcionais são funções básicas do JavaScript. Estas são tipicamente funções de seta, mas também podem ser criadas com a palavra-chave de `function` regular.
* Às vezes, são chamados de componentes "burros" ou "sem estado", pois simplesmente aceitam dados e os exibem de alguma forma; ou seja, eles são os principais responsáveis pela renderização da interface do usuário.
* Os métodos de ciclo de vida de reação (por exemplo, `componentDidMount` ) não podem ser usados em componentes funcionais.
* Não há nenhum método de renderização usado em componentes funcionais.
* Esses são os principais responsáveis pela interface do usuário e são normalmente apenas de apresentação (por exemplo, um componente Button).
* Componentes funcionais podem aceitar e usar adereços.
* Componentes funcionais devem ser favorecidos se você não precisar usar o estado Reagir.
```js
import React from "react";
const Person = props => (
<div>
<h1>Hello, {props.name}</h1>
</div>
);
export default Person;
```
## Componentes de Classe
* Componentes de classe fazem uso da classe ES6 e estendem a classe `Component` no React.
* Às vezes chamados de componentes "inteligentes" ou "com estado", pois tendem a implementar lógica e estado.
* Os métodos de ciclo de vida de reação podem ser usados dentro de componentes de classe (por exemplo, `componentDidMount` ).
* Você passa para os componentes da classe e acessa-os com `this.props`
```js
import React, { Component } from "react";
class Person extends Component {
constructor(props){
super(props);
this.state = {
myState: true;
}
}
render() {
return (
<div>
<h1>Hello Person</h1>
</div>
);
}
}
export default Person;
```
## Mais Informações
* [Reagir Componentes](https://reactjs.org/docs/components-and-props.html)
* [Componentes funcionais vs classe](https://react.christmas/16)
* [Componentes funcionais Stateful vs Stateless em React](https://code.tutsplus.com/tutorials/stateful-vs-stateless-functional-components-in-react--cms-29541)
* [Estado e LifeCycle](https://reactjs.org/docs/state-and-lifecycle.html)