--- id: 5a24c314108439a4d4036165 title: Use React to Render Nested Components challengeType: 6 isRequired: false videoUrl: '' localeTitle: Use Reagir para Renderizar Componentes Aninhados --- ## Description
O último desafio mostrou uma maneira simples de compor dois componentes, mas há muitas maneiras diferentes de compor componentes com o React. A composição de componentes é um dos poderosos recursos do React. Quando você trabalha com o React, é importante começar a pensar na interface do usuário em termos de componentes, como o exemplo de aplicativo no último desafio. Você divide sua interface do usuário em seus blocos de construção básicos e essas peças se tornam os componentes. Isso ajuda a separar o código responsável pela interface do usuário do código responsável por manipular a lógica do seu aplicativo. Isso pode simplificar bastante o desenvolvimento e a manutenção de projetos complexos.
## Instructions
Existem dois componentes funcionais definidos no editor de código, chamados TypesOfFruit e Fruits . Pegue o componente TypesOfFruit e componha-o, ou aninhe -o, dentro do componente Fruits . Em seguida, pegue o componente Fruits e aninhe-o no componente TypesOfFood . O resultado deve ser um componente filho, aninhado dentro de um componente pai, que está aninhado dentro de um componente pai próprio!
## Tests
```yml tests: - text: O componente TypesOfFood deve retornar um único elemento div . testString: 'assert(Enzyme.shallow(React.createElement(TypesOfFood)).type() === "div", "The TypesOfFood component should return a single div element.");' - text: O componente TypesOfFood deve retornar o componente Fruits . testString: 'assert(Enzyme.shallow(React.createElement(TypesOfFood)).props().children[1].type.name === "Fruits", "The TypesOfFood component should return the Fruits component.");' - text: O componente de Fruits deve retornar o componente TypesOfFruit . testString: 'assert(Enzyme.mount(React.createElement(TypesOfFood)).find("h2").html() === "

Fruits:

", "The Fruits component should return the TypesOfFruit component.");' - text: O componente TypesOfFruit deve retornar os elementos h2 e ul . testString: 'assert(Enzyme.mount(React.createElement(TypesOfFood)).find("ul").text() === "ApplesBlueberriesStrawberriesBananas", "The TypesOfFruit component should return the h2 and ul elements.");' ```
## Challenge Seed
```jsx const TypesOfFruit = () => { return (

Fruits:

  • Apples
  • Blueberries
  • Strawberries
  • Bananas
); }; const Fruits = () => { return (
{ /* change code below this line */ } { /* change code above this line */ }
); }; class TypesOfFood extends React.Component { constructor(props) { super(props); } render() { return (

Types of Food:

{ /* change code below this line */ } { /* change code above this line */ }
); } }; ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```