68 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						||
title: Props
 | 
						||
localeTitle: Реквизит
 | 
						||
---
 | 
						||
## Реагировать на коренных жителей - реквизит
 | 
						||
 | 
						||
Термин «реквизит», сокращенный для «свойств», означает некоторый тип данных, передаваемых из одного компонента в другой. Реквизит всегда течет вниз от родительского компонента к ребенку.
 | 
						||
 | 
						||
В React дочерний компонент имеет доступ к информации от родителя через реквизит:
 | 
						||
 | 
						||
```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!" /> 
 | 
						||
    ); 
 | 
						||
  } 
 | 
						||
 } 
 | 
						||
```
 | 
						||
 | 
						||
Это также работает в функциональных компонентах:
 | 
						||
 | 
						||
```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> 
 | 
						||
    ); 
 | 
						||
  } 
 | 
						||
 } 
 | 
						||
```
 | 
						||
 | 
						||
Другие импортируемые библиотеки также дадут вам доступ к дополнительным свойствам внутри ваших компонентов. Вот пример из библиотеки [реагирующих на-элементов](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`} 
 | 
						||
      /> 
 | 
						||
    ); 
 | 
						||
  } 
 | 
						||
 } 
 | 
						||
 | 
						||
``` |