--- id: 5a24c314108439a4d403616e title: Access Props Using this.props challengeType: 6 isRequired: false videoUrl: '' localeTitle: Acceder a los props usando this.props --- ## Description
Los últimos desafíos cubrieron las formas básicas de pasar propiedades (props) a los componentes secundarios. Pero, ¿qué sucede si el componente secundario al que le está pasando una propiedad (prop) es un componente de clase ES6, en lugar de un componente funcional sin estado? El componente de clase ES6 utiliza una convención ligeramente diferente para acceder a las propiedades (props). Cada vez que se refiera a un componente de clase dentro de sí mismo, use la palabra clave this. Para acceder a las propiedades (props) dentro de un componente de clase, precede el código que se utiliza para acceder a ella con this. Por ejemplo, si un componente de clase ES6 tiene una propiedad llamada data , escribe {this.props.data} en JSX.
## Instructions
Renderiza una instancia del componente ReturnTempPassword en el componente principal ResetPassword . Aquí, añade una propiedad (prop) tempPassword al componente ReturnTempPassword y asígnele un valor de una cadena que tenga al menos 8 caracteres de longitud. Dentro del componente hijo, ReturnTempPassword , acceda a la propiedad tempPassword dentro de las etiquetas strong para asegurarse de que el usuario vea la contraseña temporal.
## Tests
```yml tests: - text: El componente ResetPassword debe devolver un único elemento div. testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(ResetPassword)); return mockedComponent.children().type() === "div"; })(), "El componente ResetPassword debe devolver un único elemento div.");' - text: El cuarto hijo de ResetPassword debe ser el componente ReturnTempPassword. testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(ResetPassword)); return mockedComponent.children().childAt(3).name() === "ReturnTempPassword"; })(), "El cuarto hijo de ResetPassword debe ser el componente ReturnTempPassword.");' - text: El componente ReturnTempPassword debe tener un prop llamado tempPassword. testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(ResetPassword)); return mockedComponent.find("ReturnTempPassword").props().tempPassword; })(), "El componente ReturnTempPassword debe tener un prop llamado tempPassword.");' - text: El prop tempPassword de ReturnTempPassword debe ser igual a una cadena de al menos 8 caracteres. testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(ResetPassword)); const temp = mockedComponent.find("ReturnTempPassword").props().tempPassword; return typeof temp === "string" && temp.length >= 8; })(), "El prop tempPassword de ReturnTempPassword debe ser igual a una cadena de al menos 8 caracteres.");' - text: El componente ReturnTempPassword debe mostrar la contraseña que crea como el prop tempPassword dentro de strong etiquetas strong. testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(ResetPassword)); return mockedComponent.find("strong").text() === mockedComponent.find("ReturnTempPassword").props().tempPassword; })(), "El componente ReturnTempPassword debe mostrar la contraseña que crea como el prop tempPassword dentro de strong etiquetas strong.");' ```
## Challenge Seed
```jsx class ReturnTempPassword extends React.Component { constructor(props) { super(props); } render() { return (
{ /* change code below this line */ }

Your temporary password is:

{ /* change code above this line */ }
); } }; class ResetPassword extends React.Component { constructor(props) { super(props); } render() { return (

Reset Password

We've generated a new temporary password for you.

Please reset this password from your account settings ASAP.

{ /* change code below this line */ } { /* change code above this line */ }
); } }; ```
### After Test
```js console.info('después de la prueba'); ```
## Solution
```js class ReturnTempPassword extends React.Component { constructor(props) { super(props); } render() { return (

Your temporary password is: {this.props.tempPassword}

); } }; class ResetPassword extends React.Component { constructor(props) { super(props); } render() { return (

Reset Password

We've generated a new temporary password for you.

Please reset this password from your account settings ASAP.

{ /* change code below this line */ } { /* change code above this line */ }
); } }; ```