--- id: 5a24c314108439a4d4036168 title: Write a React Component from Scratch challengeType: 6 isRequired: false videoUrl: '' localeTitle: Escribir un componente React desde cero --- ## Description
Ahora que ha aprendido los conceptos básicos de los componentes JSX y React, es hora de escribir un componente por su cuenta. Los componentes de React son los componentes básicos de las aplicaciones de React, por lo que es importante familiarizarse con su escritura. Recuerde, un componente típico de React es una class ES6 que extiende React.Component . Tiene un método de render que devuelve HTML (de JSX) o null . Esta es la forma básica de un componente React. Una vez que entienda esto bien, estará preparado para comenzar a construir proyectos React más complejos.
## Instructions
Defina una clase MyComponent que amplíe React.Component . Su método de renderización debe devolver un div que contenga una etiqueta h1 con el texto: My First React Component! en eso. Use este texto exactamente, el caso y la puntuación son importantes. Asegúrese de llamar al constructor para su componente, también. Renderice este componente al DOM usando ReactDOM.render() . Hay un div con id='challenge-node' disponible para que lo uses.
## Tests
```yml tests: - text: Debe haber un componente React llamado MyComponent . testString: 'getUserInput => assert(getUserInput("index").replace(/\s/g, "").includes("classMyComponentextendsReact.Component{"), "There should be a React component called MyComponent.");' - text: MyComponent debe contener una etiqueta h1 con el texto My First React Component! Caso y puntuacion. testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(MyComponent)); return mockedComponent.find("h1").text() === "My First React Component!"; })(), "MyComponent should contain an h1 tag with text My First React Component! Case and punctuation matter.");' - text: MyComponent debe renderizar al DOM. testString: 'assert(document.getElementById("challenge-node").childNodes.length === 1, "MyComponent should render to the DOM.");' ```
## Challenge Seed
```jsx // change code below this line ```
## Solution
```js // solution required ```