--- id: 5a24c314108439a4d4036162 title: Create a Stateless Functional Component challengeType: 6 isRequired: false videoUrl: '' localeTitle: Criar um componente funcional sem estado --- ## Description
Componentes são o núcleo do React. Tudo no React é um componente e aqui você aprenderá como criar um. Existem duas maneiras de criar um componente React. A primeira maneira é usar uma função JavaScript. Definir um componente dessa maneira cria um componente funcional sem estado . O conceito de estado em um aplicativo será abordado em desafios posteriores. Por enquanto, pense em um componente sem estado como um que pode receber dados e processá-los, mas não gerencia ou rastreia alterações nesses dados. (Abordaremos a segunda maneira de criar um componente React no próximo desafio.) Para criar um componente com uma função, basta escrever uma função JavaScript que retorne JSX ou null . Uma coisa importante a notar é que React requer que o nome da sua função comece com uma letra maiúscula. Aqui está um exemplo de um componente funcional sem estado que atribui uma classe HTML no JSX:
// Depois de ser transpilado, o <div> terá uma classe CSS de 'customClass'
const DemoComponent = function () {
Retorna (
<div className = 'customClass' />
);
};
Como um componente JSX representa o HTML, você pode colocar vários componentes juntos para criar uma página HTML mais complexa. Essa é uma das principais vantagens da arquitetura de componentes que o React fornece. Ele permite que você componha sua interface do usuário de vários componentes separados e isolados. Isso facilita a criação e manutenção de interfaces de usuário complexas.
## Instructions
O editor de código tem uma função chamada MyComponent . Complete esta função para que ela retorne um único elemento div que contenha alguma cadeia de texto. Nota: O texto é considerado um filho do elemento div , portanto, você não poderá usar uma tag de fechamento automático.
## Tests
```yml tests: - text: MyComponent deve retornar o JSX. testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(MyComponent)); return mockedComponent.length === 1; })(), "MyComponent should return JSX.");' - text: MyComponent deve retornar um elemento div . testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(MyComponent)); return mockedComponent.children().type() === "div" })(), "MyComponent should return a div element.");' - text: O elemento div deve conter uma string de texto. testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(MyComponent)); return mockedComponent.find("div").text() !== ""; })(), "The div element should contain a string of text.");' ```
## Challenge Seed
```jsx const MyComponent = function() { // change code below this line // change code above this line } ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```