--- title: React - Components localeTitle: React - Componentes --- ## React - Componentes Los componentes son reutilizables en react.js. Puedes inyectar valores en props como se indica a continuación: ```jsx function Welcome(props) { return

Hello, {props.name}

; } const element = ; ReactDOM.render( element, document.getElementById('root') ); ``` El valor `name="Faisal Arkan"` se asignará en `{props.name}` de la `function Welcome(props)` y devolverá el componente `

Hello, Faisal Arkan

` el cual esta guardado en la constante `element`. Ahora el componente puede renderizarse a través de la llamada a `ReactDOM.render(element, document.getElemenyById('root'));`. En este caso, `document.getElemenyById('root')` indica el elemento en el cual se va a renderizar el componente. ### Otras formas de declarar componentes. Hay muchas formas de declarar componentes al usar React.js, pero hay dos tipos de componentes, componentes **_sin_** **_estado_** y componentes con **_estado_** . ### Con estado #### Componentes de tipo clase ```jsx class Cat extends React.Component { constructor(props) { super(props); this.state = { humor: 'happy' } } render() { return(

{this.props.name}

{this.props.color}

); } } ``` ### Componentes sin estado #### Componentes funcionales (función de flecha de ES6) ```jsx const Cat = props => { return (

{props.name}

{props.color}

; ); }; ``` #### Componentes de retorno implícito ```jsx const Cat = props =>

{props.name}

{props.color}

; ```