68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Props
 | |
| localeTitle: Accesorios
 | |
| ---
 | |
| ## Reaccionar nativo - apoyos
 | |
| 
 | |
| El término props, abreviatura de 'propiedades', significa algún tipo de datos que se pasan de un componente a otro. Los apoyos siempre fluyen hacia abajo desde el componente padre al hijo.
 | |
| 
 | |
| En React, el componente hijo tiene acceso a la información de un padre a través de accesorios:
 | |
| 
 | |
| ```jsx
 | |
| // the child Header component receives the text prop and can access it via this.props.text 
 | |
|  class Header extends Component { 
 | |
|   render () { 
 | |
|     return ( 
 | |
|       <Text>{this.props.text}</Text> 
 | |
|     ) 
 | |
|   } 
 | |
|  } 
 | |
|  
 | |
|  class App extends Component { 
 | |
|   render () { 
 | |
|     return ( 
 | |
|       <Header text="Welcome!" /> 
 | |
|     ); 
 | |
|   } 
 | |
|  } 
 | |
| ```
 | |
| 
 | |
| Esto también funciona de la misma manera en componentes funcionales:
 | |
| 
 | |
| ```jsx
 | |
| // in functional components, props will be received as a parameter 'props' 
 | |
|  const Header = (props) => { 
 | |
|   return ( 
 | |
|     <Text>{props.title}</Text> 
 | |
|   ); 
 | |
|  }; 
 | |
|  
 | |
|  class App extends Component { 
 | |
|   render () { 
 | |
|     return ( 
 | |
|       <View> 
 | |
|     <Header text="Welcome!" /> 
 | |
|       </View> 
 | |
|     ); 
 | |
|   } 
 | |
|  } 
 | |
| ```
 | |
| 
 | |
| Otras bibliotecas que importe también le darán acceso a propiedades adicionales dentro de sus componentes. Aquí hay un ejemplo de la biblioteca [react-native-elements](https://github.com/react-native-training/react-native-elements) .
 | |
| 
 | |
| ```jsx
 | |
| import { Button } from 'react-native-elements'; 
 | |
|  
 | |
|  // here 'buttonStyle' and 'title' are props passed into the Button component 
 | |
|  class App extends Component { 
 | |
|   render () { 
 | |
|     return ( 
 | |
|       <Button 
 | |
|     buttonStyle={{backgroundColor: 'red', borderRadius: 10}} 
 | |
|     title={`Submit`} 
 | |
|       /> 
 | |
|     ); 
 | |
|   } 
 | |
|  } 
 | |
| 
 | |
| ``` |