--- id: 5a24c314108439a4d4036165 title: Use React to Render Nested Components challengeType: 6 isRequired: false videoUrl: '' localeTitle: Использовать React для вставки вложенных компонентов --- ## Description
Последняя задача показала простой способ составления двух компонентов, но есть много разных способов компоновки компонентов с помощью React. Компонентный состав является одной из мощных возможностей React. Когда вы работаете с React, важно начать думать о своем пользовательском интерфейсе с точки зрения таких компонентов, как пример приложения в последнем вызове. Вы разбиваете свой пользовательский интерфейс на свои основные строительные блоки, и эти части становятся компонентами. Это помогает отделить код, отвечающий за пользовательский интерфейс, от кода, ответственного за обработку вашей логики приложения. Это может значительно упростить разработку и сопровождение сложных проектов.
## Instructions
В редакторе кода есть два функциональных компонента, называемых TypesOfFruit и Fruits . Возьмите TypesOfFruit компонент и компоновать его, или гнездо его, в пределах Fruits компонента. Затем возьмите компонент Fruits и TypesOfFood его в компонент TypesOfFood . Результатом должен быть дочерний компонент, вложенный в родительский компонент, который вложен в собственный родительский компонент!
## Tests
```yml tests: - text: Компонент TypesOfFood должен возвращать один элемент div . testString: 'assert(Enzyme.shallow(React.createElement(TypesOfFood)).type() === "div", "The TypesOfFood component should return a single div element.");' - text: Компонент TypesOfFood должен вернуть компонент Fruits . testString: 'assert(Enzyme.shallow(React.createElement(TypesOfFood)).props().children[1].type.name === "Fruits", "The TypesOfFood component should return the Fruits component.");' - text: '' testString: 'assert(Enzyme.mount(React.createElement(TypesOfFood)).find("h2").html() === "

Fruits:

", "The Fruits component should return the TypesOfFruit component.");' - text: Компонент TypesOfFruit должен возвращать элементы h2 и 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 ```